精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

推薦十一個React Hook庫

開發 前端
在React開發中,保持干凈的代碼風格,可讀性,可維護性,更少的代碼行以及可重用性至關重要。本篇文章將向您介紹應立即開始使用的十一個React Hook庫。不用再拖延了,讓我們開始吧。

 Hooks來了,并在暴風雨中占領了React社區。自最初發布以來已經有一段時間了,這意味著有很多支持庫。在搜索與React相關的內容時,很難不說“ hook”。如果你們還沒有使用它的話,應該盡快將它們加入代碼庫。它們將使您的編碼生活變得更加輕松和愉快。

在React開發中,保持干凈的代碼風格,可讀性,可維護性,更少的代碼行以及可重用性至關重要。本篇文章將向您介紹應立即開始使用的十一個React Hook庫。不用再拖延了,讓我們開始吧。

1.use-http
use-http是一個非常有用的軟件包,可用來替代Fetch API。以高質量編寫和維護。它使您的編碼更簡單易懂,更精確地講是數據處理部分。hook本身使用TypeScript,甚至支持SSR和GraphQL。它返回響應,加載,錯誤數據和不同的請求方法,例如Get,Post,Put,Patch和Delete。

它提供的主要功能是:

  • 請求/響應攔截器
  • 支持React Native
  • 卸載組件時中止/取消掛起的http請求
  • 緩存

CodeSandbox示例和Youtube視頻以及GitHub自述文件都對此進行了很好的記錄。

官網地址:https://use-http.com/#/

使用案例

  1. import useFetch from "use-http" 
  2.  
  3. const Example = () => { 
  4.   const [todos, setTodos] = useState([]) 
  5.   const { get, post, response, loading, error } = useFetch("https://example.com"
  6.  
  7.   useEffect(() => { get("/todos") }, []) 
  8.  
  9.   const addTodo = async () => { 
  10.       await post("/todos", { title: "example todo" }); 
  11.       if (response.ok) setTodos([...todos, newTodo]) 
  12.   } 
  13.  
  14.   return ( 
  15.     <> 
  16.       <button onClick={addTodo}>Add Todo</button> 
  17.       {error && 'Error!'
  18.       {loading && 'Loading...'
  19.       {todos.map(todo => ( 
  20.         <span key={todo.id}>{todo.title}</span> 
  21.       )} 
  22.     </> 
  23.   ); 
  24. }; 

2.useMedia
您是否需要一種跟蹤CSS媒體查詢的方法?該useMedia hook提供一個簡單的方法解決問題。這是一個準確跟蹤React sensor hook。媒體查詢以及任何應用程序或網站的響應能力都非常重要。

它提供了支持TypeScript編寫。該軟件包具有定義明確的文檔,其中解釋了掛鉤的用法以及測試方法。

地址:https://github.com/streamich/use-media

使用案例:

  1. import useMedia from 'use-media'
  2.  
  3. const Example = () => { 
  4.   const isWide = useMedia({minWidth: '1000px'}); 
  5.  
  6.   return ( 
  7.     <span> 
  8.       Screen is wide: {isWide ? "WideScreen" : "NarrowScreen"
  9.     </span> 
  10.   ); 
  11. }; 

3.Constate
Constate是一個hook package,可將本地狀態提升到React Context。這意味著可以以最小的努力輕松地將任何組件的任何狀態提升到上下文。如果您想在多個位置使用相同的狀態,或者為多個組件提供相同的狀態,這很有用。該名稱來自合并上下文和狀態的文字游戲。使用Typescript寫的,體積很小。雖然該文檔不是很詳細,但是可以完成工作。

地址:https://github.com/diegohaz/constate

使用案例:

  1. import React, { useState } from "react"
  2. import constate from "constate"
  3.  
  4. // custom hook 
  5. function useCounter() { 
  6.   const [count, setCount] = useState(0); 
  7.   const increment = () => setCount(prevCount => prevCount + 1); 
  8.   return { count, increment }; 
  9.  
  10. // hook passed in constate 
  11. const [CounterProvider, useCounterContext] = constate(useCounter); 
  12.  
  13. function Button() { 
  14.   // use the context 
  15.   const { increment } = useCounterContext(); 
  16.   return <button onClick={increment}>+</button>; 
  17.  
  18. function Count() { 
  19.   // use the context 
  20.   const { count } = useCounterContext(); 
  21.   return <span>{count}</span>; 
  22.  
  23. function App() { 
  24.   // wrap the component with provider 
  25.   return ( 
  26.     <CounterProvider> 
  27.       <Count /> 
  28.       <Button /> 
  29.     </CounterProvider> 
  30.   ); 

4.Redux hooks
Redux是許多(即使不是全部)React開發人員的知名工具。在整個應用程序中,它用作全局狀態管理器。在React的最初版本發布幾個月后,它就隨鉤而上了。它通過現有connect()方法提供了HOC(高階組件)模式的替代方法。

提供的最著名的hooks是:

  • useSelector
  • useDispatch
  • useStore

該文檔非常好,有點復雜,但是它將為您提供開始使用它們所需的任何信息。

地址:https://github.com/reduxjs/redux

使用案例:

  1. import {useSelector, useDispatch} from "react-redux"
  2. import React from "react"
  3. import * as actions from "./actions"
  4.  
  5. const Example = () => { 
  6. const dispatch = useDispatch() 
  7. const counter = useSelector(state => state.counter) 
  8.  
  9. return ( 
  10. <div> 
  11.    <span> 
  12.      {counter.value} 
  13.    </span> 
  14.    <button onClick={() => dispatch(actions.incrementCounter)}> 
  15.      Counter +1 
  16.    </button> 
  17. </div> 
  18. ); 
  19. }; 

5.React hook form
React hook form是一個與Formik和Redux表單相似的表單校驗hook庫,但是更好!憑借其更簡單的語法,速度,更少的轉譯和更好的可維護性,它開始爬上GitHub的階梯。它的體積很小,并且考慮到性能而構建。該庫甚至提供了它的表單生成器,這很棒!它是React鉤子庫(14.8k)中GitHub啟動數量最多的平臺之一。

它提供的主要功能:

  • 非受控表單校驗
  • 以性能和開發體驗為基礎構建
  • 迷你的體積而沒有其他依賴
  • 遵循 html 標準進行校驗
  • 與 React Native 兼容
  • 支持瀏覽器原生校驗

地址:https://github.com/react-hook-form/react-hook-form

使用案例:

  1. import React from "react"
  2. import { useForm } from "react-hook-form"
  3.  
  4. function App() { 
  5.   const { register, handleSubmit, errors } = useForm(); 
  6.   const onSubmit = (data) => { 
  7.     // logs {firstName:"exampleFirstName", lastName:"exampleLastName"
  8.     console.log(data); 
  9.   }; 
  10.  
  11.   return ( 
  12.     <form onSubmit={handleSubmit(onSubmit)}> 
  13.       <input name="firstName" ref={register} /> 
  14.       <input name="lastName" ref={register({ required: true })} /> 
  15.       {errors.lastName && <span>"Last name is a required field."</span>} 
  16.       <input name="age" ref={register({ required: true })} /> 
  17.       {errors.age && <span>"Please enter number for age."</span>} 
  18.       <input type="submit" /> 
  19.     </form> 
  20.   ); 

6.useDebounce
useDebounce 表示一個用于去抖的小鉤子。它用于將功能執行推遲到以后。常用于獲取數據的輸入和表格中。

地址:https://github.com/xnimorz/use-debounce

使用案例:

  1. import React, { useState } from "react"
  2. import { useDebounce } from "use-debounce"
  3.  
  4. export default function Input() { 
  5.   const [text, setText] = useState("Hello"); 
  6.   const [value] = useDebounce(text, 1000); 
  7.  
  8.   return ( 
  9.     <div> 
  10.       <input 
  11.         defaultValue={"Hello"
  12.         onChange={(e) => { 
  13.           setText(e.target.value); 
  14.         }} 
  15.       /> 
  16.       <p>Value: {text}</p> 
  17.       <p>Debounced value: {value}</p> 
  18.     </div> 
  19.   ); 

7.useLocalStorage
useLocalStorage是一個小鉤子,與上面的鉤子一樣。這對于在localStorage中提取和設置數據非常有用。操作變得容易。提供跨多個選項卡的自動JSON序列化和同步,并以TypeScript編寫,因此它提供了類型。

文檔以高質量的方式編寫,并且可以通過擴展示例來很好地理解。

地址:https://github.com/rehooks/local-storage

使用案例:

  1. import React, { useState } from "react"
  2. import { writeStorage } from '@rehooks/local-storage'
  3.  
  4. export default function Example() { 
  5.   let counter = 0; 
  6.   const [counterValue] = useLocalStorage('counterValue'); 
  7.  
  8.   return ( 
  9.     <div> 
  10.       <span>{counterValue}</span> 
  11.       <button onClick={() => writeStorage('i', ++counter)}> 
  12.         Click Me 
  13.       </button> 
  14.     </div> 
  15.   ); 

8.usePortal
usePortal 使創建下拉菜單,模態,通知彈出窗口,工具提示等變得非常容易!它提供了在應用程序的DOM層次結構之外創建元素的信息(react docs)。該鉤子與SSR一起使用,因為它是同構的。用TypeScript編寫并具有內置狀態。它還提供了portals樣式和大量其他選項的完全定制。

為此編寫的文檔非常好,其中顯示了許多示例,這些示例對于開始使用庫/自己做鉤子來說綽綽有余。

地址:https://github.com/alex-cory/react-useportal

使用案例:

  1. import React, { useState } from "react"
  2. import usePortal from "react-useportal"
  3.  
  4. const Example = () => { 
  5.     const { ref, openPortal, closePortal, isOpen, Portal } = usePortal() 
  6.  
  7.     return ( 
  8.       <> 
  9.          <button ref={ref} onClick={() => openPortal()}> 
  10.             Open Portal 
  11.          </button> 
  12.           {isOpen && ( 
  13.             <Portal> 
  14.               <p> 
  15.                 This Portal handles its own state.{' '
  16.                 <button onClick={closePortal}>Close me!</button>, hit ESC or 
  17.                 click outside of me. 
  18.               </p> 
  19.             </Portal> 
  20.           )} 
  21.        </> 
  22.  ) 

9.useHover
useHover是一個React state hook,它確定是否正在hover React元素。簡單易用。該庫很小,易于使用,但如果您有足夠的創造力,它可能會很強大。

它還提供了懸停效果的延遲。支持TypeScript。文檔沒有那么詳細,但是它將向您展示如何正確地使用它。

地址:https://github.com/andrewbranch/react-use-hover

使用案例:

  1. import useHover from "react-use-hover"
  2.  
  3. const Example = () => { 
  4.   const [isHovering, hoverProps] = useHover(); 
  5.   return ( 
  6.     <> 
  7.       <span {...hoverProps} aria-describedby="overlay">Hover me</span> 
  8.       {isHovering ? <div> I’m a little tooltip! </div> : null
  9.     </> 
  10.   ); 

10.React router hooks
React router hooks是React最受歡迎的庫之一。它用于路由和獲取應用程序URL歷史記錄等。它與Redux一起實現了用于獲取此類有用數據的hook。

它提供的主要功能是:

useHistory
useLocation
useParams
useRouteMatch
它的名字很不言自明。UseHistory將獲取應用程序歷史記錄和方法的數據,例如push推送到新路由。UseLocation將返回代表當前URL的對象。UseParams將返回當前路徑的URL參數的鍵-值對的對象。最后,useRouteMatch將嘗試將當前URL與給定URL進行匹配,給定URL可以是字符串,也可以是具有不同選項的對象。

文檔很好,寫了很多例子

地址:https://github.com/ReactTraining/react-router

使用案例:

  1. import { useHistory, useLocation, useRouteMatch } from "react-router-dom"
  2.  
  3. const Example = () => { 
  4. let history = useHistory(); 
  5. let location = useLoction(); 
  6. let isMatchingURL = useRouteMatch("/post/11"); 
  7.  
  8. function handleClick() { 
  9.     history.push("/home"); 
  10.  
  11. return ( 
  12.     <div> 
  13.         <span>Current URL: {location.pathname}</span> 
  14.         {isMatchingURL ? <span>Matching provided URL! Yay! </span> : null
  15.         <button type="button" onClick={handleClick}> 
  16.             Go home 
  17.         </button> 
  18. </div> 
  19. ); 

11.react-use
react-use是一個必不可少的 React Hooks集合.你需要安裝React 16.8.0或更高版本才能使用Hooks API。

地址:github.com/streamich/react-use

使用案例:

  1. import {useBattery} from 'react-use'
  2.  
  3. const Demo = () => { 
  4.   const state = useBattery(); 
  5.  
  6.   return ( 
  7.     <pre> 
  8.       {JSON.stringify(state, null, 2)} 
  9.     </pre> 
  10.   ); 
  11. }; 

當前還有更多的鉤子庫,找到適合自己使用的就是最好的,不僅提高了開發的效率,而且讓代碼更加整潔,簡單。

 

責任編輯:姜華 來源: 小丑的小屋
相關推薦

2011-08-11 13:30:04

云計算開源

2017-06-15 17:50:06

編程機器學習開發

2010-09-08 12:55:34

CSS

2016-08-12 08:24:56

GitLab Flowmastertags版本

2010-04-29 14:41:09

SharePoint

2011-07-14 09:38:13

2015-09-16 10:48:57

Python

2020-10-28 09:37:08

React代碼數據

2010-08-11 13:54:41

Windows 7運行

2021-08-13 15:32:09

elementary Linux

2020-07-03 11:29:22

內包IT領導者數字化轉型

2022-06-07 08:20:49

線程安全多線程

2022-02-21 13:27:11

接口性能優化索引命令

2016-02-16 17:38:40

2021-07-19 13:52:17

分析工具軟件大數據

2011-07-19 16:56:09

移動Web編程工具框架

2020-03-02 15:54:20

科技公司數據信任

2021-12-06 10:40:01

One-Liner代碼前端

2021-12-15 21:00:27

人工智能AI文案

2021-05-14 09:49:47

React HookReact應用
點贊
收藏

51CTO技術棧公眾號

91短视频版在线观看www免费| 中文在线观看免费网站| 久久天天久久| 亚洲日本护士毛茸茸| 国产精品日韩一区二区| 自拍偷拍校园春色| 欧美午夜在线| 在线观看欧美日韩| 国产精品成人99一区无码| 深夜视频一区二区| 亚洲午夜视频在线| 亚洲精品久久区二区三区蜜桃臀 | 羞羞的网站在线观看| 成人sese在线| 国产在线精品播放| 丰满少妇乱子伦精品看片| 99久久.com| 亚洲精品美女久久久| 色网站在线视频| 91精品论坛| 一区二区三区高清| 一区二区三区av在线| 三级av在线| 国产精品伊人色| 国产精品旅馆在线| 日韩精品久久久久久久| 91精品国产福利在线观看麻豆| 亚洲精品色婷婷福利天堂| 无码人妻少妇色欲av一区二区| 播放一区二区| 欧美日韩综合视频网址| 妞干网在线播放| 黄色片免费在线观看| 久久久精品国产99久久精品芒果| 97在线电影| 国产绳艺sm调教室论坛| 免费观看在线色综合| 欧美一级电影久久| 欧美一二三区视频| 99精品福利视频| 欧美激情精品久久久久久蜜臀 | 四虎1515hh.com| 精品国产欧美日韩一区二区三区| 欧美视频免费在线观看| 黄色一级片在线看| 蜜臀av在线| 一区二区高清免费观看影视大全| 一本久道久久综合狠狠爱亚洲精品| 青青草娱乐在线| 26uuu国产一区二区三区| 国产精品推荐精品| 人妻无码一区二区三区久久99| 国产成人免费xxxxxxxx| 亚洲一区二区三区在线免费观看| 91女人18毛片水多国产| 久久99精品久久久| 成人精品在线视频| 国产精品久久婷婷| 国产一区啦啦啦在线观看| 成人av资源在线播放| 曰批又黄又爽免费视频| 精品午夜一区二区三区在线观看| 国产日韩av在线播放| 亚洲无码精品在线观看| 久久国产乱子精品免费女| 国产精品久久久久久久久久东京| 欧美人一级淫片a免费播放| 日韩精品一级中文字幕精品视频免费观看| 欧洲成人性视频| 特级西西444www大胆免费看| 蜜桃精品在线观看| 成人日韩av在线| 亚洲精品网站在线| 26uuu亚洲综合色欧美| 欧美一区三区二区在线观看| av播放在线| 亚洲欧美偷拍另类a∨色屁股| 精品免费久久久久久久| 国产在线精彩视频| 91福利在线看| 国产毛片久久久久久| 亚洲va欧美va人人爽成人影院| 精品国产精品一区二区夜夜嗨| 性色av蜜臀av色欲av| 日韩国产欧美| 欧美激情视频网址| 高潮毛片又色又爽免费| 久草中文综合在线| 国产一区在线观| 黄色在线观看网| 亚洲精品免费视频| 丁香花在线影院观看在线播放| 久久r热视频| 69p69国产精品| 好吊日免费视频| 91精品国产乱码久久久久久| 97超级碰碰碰久久久| 在线观看国产一区二区三区| 国产成人在线视频网址| 日本黑人久久| 国产蜜臀在线| 欧美日韩在线播放一区| 精品人妻在线视频| 日韩在线高清| 97av视频在线| 国产三级漂亮女教师| 久久久久久97三级| 免费网站在线观看视频| 六九午夜精品视频| 亚洲精品一二区| 欧美又粗又大又长| 蜜桃在线一区二区三区| 精品久久久久久一区| 国产精品刘玥久久一区| 在线视频一区二区免费| av天堂一区二区| 99热国内精品永久免费观看| 91成人天堂久久成人| japanese国产| 国产精品网曝门| 久草青青在线观看| 97se亚洲| 欧美精品日韩www.p站| 中文字幕 日韩有码| 91在线小视频| 丰满的少妇愉情hd高清果冻传媒 | 天使と恶魔の榨精在线播放| 欧美视频日韩视频在线观看| 人妻无码一区二区三区| 欧美日韩国产高清| 91美女片黄在线观| 亚洲成a人v欧美综合天堂麻豆| 一本色道久久综合精品竹菊| 熟女人妻一区二区三区免费看| 99热精品久久| 成人av番号网| 日本免费在线观看| 欧美亚洲综合另类| 亚洲AV无码国产成人久久| 一区二区三区国产在线| 国产一区福利视频| 美女高潮视频在线看| 亚洲第一页自拍| 久久精品美女视频| 国产成人综合网站| 日韩精品一区二区三区四| 亚洲性视频在线| 欧美第一黄色网| 亚洲精品911| 亚洲第一福利一区| 黄色网址在线视频| 亚洲一区图片| 欧美日韩系列| 成人自拍视频网| 中文字幕在线看视频国产欧美| 日本中文字幕在线观看视频| 日本一区二区综合亚洲| 中文字幕视频在线免费观看| 成人精品中文字幕| 国产综合久久久久| 超碰在线caoporn| 日韩一区二区中文字幕| 538精品在线观看| 国产91综合网| 国产91在线视频观看| 国产最新精品| 91麻豆桃色免费看| 国产99re66在线视频| 亚洲精品福利在线| 波多野结衣 久久| 国产精品免费久久| 日韩欧美中文在线视频| 激情综合自拍| 欧美日韩国产三区| 97久久中文字幕| 久久久久久久久91| 欧美精品少妇| 4438成人网| 国产精品7777777| 国产欧美日本一区二区三区| 亚洲va综合va国产va中文| 欧美在线高清| 精品一区2区三区| 成人18视频在线观看| 久久成人精品视频| 视频午夜在线| 91精品欧美一区二区三区综合在| 久久精品这里有| 欧美国产禁国产网站cc| 亚洲国产日韩在线一区| 亚洲一区免费| 欧美做受777cos| 亚洲盗摄视频| 亚洲在线免费看| 黄瓜视频成人app免费| 久久成人在线视频| 国产高清美女一级毛片久久| 欧美v亚洲v综合ⅴ国产v| 亚洲精品久久久久久久蜜桃| 一区2区3区在线看| 青青草自拍偷拍| 97久久超碰精品国产| 精品久久久99| 久久精品午夜| 超级碰在线观看| 清纯唯美亚洲综合一区| 国产欧美日韩亚洲| 99久久999| 国产成人精品久久二区二区| 丁香花在线影院| 久久精品国产亚洲7777| 久久免费看视频| 亚洲成年人在线| 国产麻豆91视频| 在线免费观看日韩欧美| 日韩精品久久久久久久| 一区二区三区四区精品在线视频| 国产激情av在线| 久久精品人人做人人爽人人| 国产精品熟妇一区二区三区四区| 蜜臀av一级做a爰片久久| 日韩avxxx| 亚洲人成久久| 国产在线视频在线| 欧美成人日韩| 亚洲激情免费视频| 久久精品高清| 日本婷婷久久久久久久久一区二区 | 成人午夜在线观看视频| 日韩黄色在线免费观看| 丰满肥臀噗嗤啊x99av| 欧美一区欧美二区| 一级日韩一级欧美| 欧美视频在线不卡| 日本a级c片免费看三区| 狠狠做深爱婷婷久久综合一区| 免费毛片在线播放免费| 亚洲乱码国产乱码精品精的特点| 毛片久久久久久| 国产精品色在线观看| 欧美黄色高清视频| 国产精品色呦呦| 久久久精品成人| 国产精品高清亚洲| 国产精品99久久久久久成人| 亚洲日本乱码在线观看| 翔田千里88av中文字幕| 亚洲精品日日夜夜| 538任你躁在线精品视频网站| 亚洲日本一区二区三区| 极品颜值美女露脸啪啪| 亚洲曰韩产成在线| 国产乡下妇女做爰视频| 亚洲成人久久影院| 97免费在线观看视频| 欧美日韩另类字幕中文| 在线观看免费av片| 色94色欧美sute亚洲线路二| 中文字幕av久久爽| 欧美浪妇xxxx高跟鞋交| 99国产精品99| 精品国产三级a在线观看| 网站黄在线观看| 亚洲人成电影网站色…| 91caoporm在线视频| 久久偷看各类女兵18女厕嘘嘘| 国产精品实拍| 91精品国产乱码久久久久久久久| 激情都市亚洲| 成人午夜一级二级三级| 成人爽a毛片免费啪啪红桃视频| 精品人伦一区二区三区| 精品久久美女| 资源网第一页久久久| 欧美午夜在线| 欧美精品一区二区三区免费播放| 蜜臀久久99精品久久久画质超高清| 一级日本黄色片| 99国产欧美另类久久久精品| 日韩av片在线免费观看| 一区二区三区在线播放| 欧美特黄aaaaaa| 7777精品伊人久久久大香线蕉的| 人妻精品无码一区二区| 亚洲人成电影网站| 色呦呦在线观看视频| 青草青草久热精品视频在线网站| 亚洲青青一区| 国产在线一区二区三区四区| 日韩久久综合| 精品少妇在线视频| 免费成人在线观看视频| 99热超碰在线| 亚洲国产精品t66y| 日韩精品久久久久久久| 欧美剧情电影在线观看完整版免费励志电影| 99视频在线观看免费| 亚洲欧美中文日韩在线| av在线官网| 国产精品成人一区二区| 都市激情亚洲| 中文字幕av导航| 亚洲欧美视频| 少妇献身老头系列| 国产精品国产馆在线真实露脸| 国产一级精品视频| 欧美一区二区播放| 3p视频在线观看| 国产69久久精品成人看| 亚洲超碰在线观看| 亚洲欧美日韩综合一区| 午夜在线a亚洲v天堂网2018| 波多野结衣中文字幕在线播放| 国产日产亚洲精品系列| 国产污片在线观看| 日韩一级免费一区| 丝袜美腿美女被狂躁在线观看| 日本91av在线播放| 国产精品qvod| 国产在线xxxx| 国产高清一区日本| fc2ppv在线播放| 色欧美片视频在线观看| 婷婷五月综合激情| 欧美国产日韩一区二区| 91亚洲精品在看在线观看高清| 无遮挡亚洲一区| 蜜乳av另类精品一区二区| 免费日本黄色网址| 亚洲自拍偷拍麻豆| 精品人妻av一区二区三区| 久久久999精品| 亚洲青青一区| 吴梦梦av在线| 韩国一区二区视频| 999福利视频| 欧美人伦禁忌dvd放荡欲情| 国产精品视频一区二区久久| 啪一啪鲁一鲁2019在线视频| 亚洲电影一级片| 亚洲爆乳无码专区| av电影一区二区| 久久不卡免费视频| 亚洲精品久久久久久久久久久| 成全电影大全在线观看| 国产免费一区二区三区| 亚洲高清电影| www.超碰97| 色哟哟国产精品免费观看| 欧美孕妇孕交xxⅹ孕妇交| 日本精品久久久久影院| 亚洲人成伊人成综合图片| 动漫av网站免费观看| 久久日韩粉嫩一区二区三区| 精品国产xxx| 亚洲视频在线视频| 日韩精品麻豆| 中文字幕日韩一区二区三区| 国产一区二区在线看| 九九九在线视频| 亚洲国产成人久久综合| 成人私拍视频| 午夜精品一区二区三区在线观看| 久久99精品久久久久久久久久久久| 少妇被躁爽到高潮无码文| 精品毛片乱码1区2区3区| 蜜桃视频在线网站| 日韩中文字幕一区二区| 国产在线日韩欧美| 伊人国产在线观看| 亚洲欧美另类在线观看| 国产成人福利夜色影视| 国产欧美自拍视频| 99热这里都是精品| 一区二区三区在线观看av| 日韩在线观看视频免费| 日韩一区免费| 久久无码高潮喷水| 国产精品女上位| 亚洲国产精品欧美久久 | 佐佐木明希av| 成人福利视频网站| 午夜精品久久久久久久蜜桃| 久久精品精品电影网| 国内精品偷拍| 校园春色 亚洲色图| 亚洲综合久久久久| 久久精品a一级国产免视看成人| 成人午夜一级二级三级| 国产精品日韩欧美一区| 免费国产羞羞网站美图| 亚洲美女又黄又爽在线观看| 四虎永久精品在线| 男人添女人下面高潮视频| 国产精品嫩草影院av蜜臀| 天天干视频在线| 91天堂在线视频| 久久午夜影视| 九九九国产视频| 久久久99免费视频|