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

一篇教你如何升級(jí)到 React 18

開發(fā) 前端
今天,我們發(fā)布了 React 18 RC 版本。正如我們?cè)?React Conf上分享的那樣,React 18 基于 concurrent 模式,帶來(lái)了更多能力,同時(shí)提供了漸進(jìn)升級(jí)的方法。在這篇文章中,我們會(huì)一步一步的帶您升級(jí)到 React 18。

這是 React 官方 2022.03.08 發(fā)表的文章《How to Upgrade to the React 18 Release Candidate[1]》的譯文,通過(guò)本文,可以對(duì) React 18 的新特性有一個(gè)全面的認(rèn)知。

接下來(lái),我還會(huì)翻譯其它幾篇比較重要的 React 18 文章,以便以更好的姿勢(shì)使用 React 18,關(guān)注不迷路。

今天,我們發(fā)布了 React 18 RC 版本。正如我們?cè)?React Conf[2] 上分享的那樣,React 18 基于 concurrent 模式,帶來(lái)了更多能力,同時(shí)提供了漸進(jìn)升級(jí)的方法。在這篇文章中,我們會(huì)一步一步的帶您升級(jí)到 React 18。

安裝

使用 @rc標(biāo)簽來(lái)安裝最新版 React。

## npm
$ npm install react@rc react-dom@rc

## yarn
$ yarn add react@rc react-dom@rc

客戶端渲染 API 更新

當(dāng)你首次安裝 React 18 的時(shí)候,你會(huì)看到如下警告:

  • ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it’s running React 17. Learn more: https://reactjs.org/link/switch-to-createroot[3]。

React 18 提供了更合理的初始化 API,使用該 API,會(huì)自動(dòng)啟用 concurrent 模式:

// Before
import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);

// After
import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container);
root.render(<App tab="home" />);

同時(shí)我們將卸載方法從 unmountComponentAtNode 修改為 root.unmount:

// Before
unmountComponentAtNode(container);

// After
root.unmount();

我們移除了 ReactDOM.render 函數(shù)的 callback,因?yàn)楫?dāng)使用 Susponse 的時(shí)候,它會(huì)有問(wèn)題:

// Before
const container = document.getElementById('app');
ReactDOM.render(<App tab="home" />, container, () => {
console.log('rendered');
});
// After
function AppWithCallbackAfterRender() {
useEffect(() => {
console.log('rendered');
});
return <App tab="home" />
}
const container = document.getElementById('app');
const root = ReactDOM.createRoot(container);
root.render(<AppWithCallbackAfterRender />);

最后,如果你使用 hydration 來(lái)實(shí)現(xiàn)了 SSR,需要將 hydrate 替換為 hydrateRoot:

// Before
import { hydrate } from 'react-dom';
const container = document.getElementById('app');
hydrate(<App tab="home" />, container);
// After
import { hydrateRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = hydrateRoot(container, <App tab="home" />);
// Unlike with createRoot, you don't need a separate root.render() call here.

更多信息可見 Replacing render with createRoot[4]。

SSR API 更新

在 React 18 中,為了支持服務(wù)端的 Suspense 和流式 SSR,優(yōu)化了 react-dom/server 的 API。

使用以下 API,將會(huì)拋出警告:

  • renderToNodeStream:廢棄 ???。

相反,對(duì)于 Node 環(huán)境中的流式傳輸,請(qǐng)使用:

  • renderToPipeableStream:新增 ?。

我們還引入了一個(gè)新的 API,以在現(xiàn)代邊緣運(yùn)行時(shí)環(huán)境支持流式 SSR 和 Suspense,例如 Deno 和 Cloudflare workers:

  • renderToReadableStream:新增 ?。

下面的兩個(gè) API 可以繼續(xù)使用,但是不支持 Suspense:

  • renderToString:限制 ??。
  • renderToStaticMarkup:限制 ??。

下面的 API 沒(méi)有變化:

  • renderToStaticNodeStream。

更多信息可見Upgrading to React 18 on the server[5]、New Suspense SSR Architecture in React 18[6]。

自動(dòng)批處理 Automatic Batching

批處理是指:React 將多個(gè)狀態(tài)更新,聚合到一次 render 中執(zhí)行,以提升性能。

在 React 18 之前,只能在 React 自己的事件機(jī)制中使用批處理,而在 Promise、setTimeout、原生事件等場(chǎng)景下,是不能使用批處理的。

React 18 支持了更多場(chǎng)景下的批處理,以提供更好的性能。

// 在 React 18 之前,只有 React 事件,才會(huì)使用批處理
function handleClick() {
setCount(c => c + 1);
setFlag(f => !f);
// React 只會(huì) re-render 一次,這就是批處理
}
setTimeout(() => {
setCount(c => c + 1);
setFlag(f => !f);
// React 會(huì) render 兩次,每次 state 變化更新一次
}, 1000);

使用 createRoot初始化 React 18 之后,所有的狀態(tài)更新,會(huì)自動(dòng)使用批處理,不關(guān)心應(yīng)用場(chǎng)景。

// React 18 之后,Promise、setTimeout、原生事件中,都會(huì)自動(dòng)批處理
function handleClick() {
setCount(c => c + 1);
setFlag(f => !f);
// React 只會(huì) re-render 一次,這就是批處理
}
setTimeout(() => {
setCount(c => c + 1);
setFlag(f => !f);
// React 只會(huì) re-render 一次,這就是批處理
}, 1000);

這是一個(gè) break change,但是我們希望這能提升你的產(chǎn)品性能。當(dāng)然,你仍然可以使用 flushSync 來(lái)手動(dòng)取消批處理,強(qiáng)制同步執(zhí)行:

import { flushSync } from 'react-dom';

function handleClick() {
flushSync(() => {
setCounter(c => c + 1);
});
// React 更新一次 DOM
flushSync(() => {
setFlag(f => !f);
});
// React 更新一次 DOM
}

更多信息可見 Automatic batching for fewer renders in React 18[7]。

三方庫(kù) API

在 React 18 中,我們和三方庫(kù)作者合作,定義了一些新的 API,以滿足三方庫(kù)在 concurrent 模式下特定場(chǎng)景的訴求。比如 styles 管理、外部狀態(tài)管理、可訪問(wèn)性(accessibility)等場(chǎng)景。

為了支持 React 18,一些三方庫(kù)可能需要用到下面的 API:

  • useId 是一個(gè)新的 Hook,支持在客戶端和服務(wù)端生成唯一的 ID,同時(shí)避免 hydration 的不兼容。它可以解決在 React 17 。 及更低版本一直存在的問(wèn)題。在 React 18 中,這個(gè)問(wèn)題尤為重要,因?yàn)榱魇?SSR 返回的 HTML 片段是無(wú)序的。更多信息可見 Intent to Ship: useId[8]。
  • useSyncExternalStore是一個(gè)新的 Hook,允許外部狀態(tài)管理器,強(qiáng)制立即同步更新,以支持并發(fā)讀取。這個(gè)新的 API 推薦用于所有 。 React 外部狀態(tài)管理庫(kù)。詳情見 useSyncExternalStore overview post[9]、useSyncExternalStore API details[10]。
  • useInsertionEffect是一個(gè)新的 Hook,它可以解決 CSS-in-JS 庫(kù)在渲染中動(dòng)態(tài)注入樣式的性能問(wèn)題。除非你已經(jīng)構(gòu)建了一個(gè) CSS-in-JS 庫(kù),否則我們不希望你使用它。這個(gè) Hook 執(zhí)行時(shí)機(jī)在 DOM 生成之后,Layout Effect 執(zhí)行之前。更多信息可見 Library Upgrade Guide for style[11]。

React 18還為 concurrent 渲染引入了新的 API,例如 startTransition 和 useDeferredValue,在即將發(fā)布的穩(wěn)定版本中會(huì)分享更多相關(guān)內(nèi)容。

嚴(yán)格模式 Strict Mode

未來(lái),我們希望添加一個(gè)功能,允許 React 保存組件的狀態(tài),但移除 UI 部分。比如在返回舊的頁(yè)面時(shí),React 立即恢復(fù)之前的內(nèi)容。為此,React 將使用之前保留的狀態(tài)重新加載組件。

這個(gè)功能會(huì)給 React 項(xiàng)目帶來(lái)非常好的體驗(yàn),但要求組件支持 state 不變的情況下,組件多次卸載和重載。

為了檢查出不合適的組件寫法,React 18 在開發(fā)模式渲染組件時(shí),會(huì)自動(dòng)執(zhí)行一次卸載,再重新加載的行為,以便檢查組件是否支持 state 不變,組件卸載重載的場(chǎng)景。

在以前,React 加載組件的邏輯為:

* React mounts the component.
* Layout effects are created.
* Effect effects are created.

在 React 18 嚴(yán)格模式的開發(fā)環(huán)境,React 會(huì)模擬卸載并重載組件:

* React mounts the component.
* Layout effects are created.
* Effect effects are created.
* React simulates unmounting the component.
* Layout effects are destroyed.
* Effects are destroyed.
* React simulates mounting the component with the previous state.
* Layout effect setup code runs
* Effect setup code runs

更多信息可見:Adding Strict Effects to Strict Mode[12] 、How to Support Strict Effects[13]。

配置測(cè)試環(huán)境

當(dāng)你第一次在測(cè)試用例中使用 createRoot時(shí)候,你會(huì)看到以下警告:

  • The current testing environment is not configured to support act(…)。

為了修復(fù)這個(gè)問(wèn)題,你需要在執(zhí)行用例之前設(shè)置 globalThis.IS_REACT_ACT_ENVIRONMENT為 true。

// In your test setup file
globalThis.IS_REACT_ACT_ENVIRONMENT = true;

這個(gè)標(biāo)記告訴 React,它在一個(gè)類似單元測(cè)試的環(huán)境中運(yùn)行。如果你忘了使用 act,React 將打印一些有用的警告。你也可以將標(biāo)志設(shè)置為 false 來(lái)告訴 React 不需要 act。這對(duì)于模擬瀏覽器環(huán)境的端到端測(cè)試很有用。當(dāng)然,我們希望測(cè)試庫(kù)會(huì)自動(dòng)為您加上這個(gè)配置。例如,下一個(gè)版本的 React Testing Library 內(nèi)置了對(duì) React 18 的支持,無(wú)需任何額外配置。

更多信息可見:More background on the the act testing API and related changes[14]。

移除了 IE 支持

在此版本中,React 將放棄對(duì) Internet Explorer 的支持。我們進(jìn)行此更改是因?yàn)?React 18 中引入的新功能是基于現(xiàn)代瀏覽器開發(fā)的,部分能力在 IE 上是不支持的,比如 microtasks。

如果您需要支持 Internet Explorer,我們建議您繼續(xù)使用 React 17。

其它變更

  • 移除“setState on unmounted component” 警告[15]。
  • Susponse 不再?gòu)?qiáng)制需要 fallback 屬性[16]。
  • 組件支持 render undefined[17]。
  • 廢棄 renderSubtreeIntoContainer[18]。
  • 嚴(yán)格模式不再忽略自動(dòng)二次渲染組件的 log[19]。

參考資料

[1]How to Upgrade to the React 18 Release Candidate: https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html。

[2]React Conf: https://reactjs.org/blog/2021/12/17/react-conf-2021-recap.html。

[3]https://reactjs.org/link/switch-to-createroot: https://reactjs.org/link/switch-to-createroot。

[4]Replacing render with createRoot: https://github.com/reactwg/react-18/discussions/5。

[5]Upgrading to React 18 on the server: https://github.com/reactwg/react-18/discussions/22。

[6]New Suspense SSR Architecture in React 18: https://github.com/reactwg/react-18/discussions/37。

[7]Automatic batching for fewer renders in React 18: https://github.com/reactwg/react-18/discussions/21。

[8]Intent to Ship: useId: https://github.com/reactwg/react-18/discussions/111。

[9]useSyncExternalStore overview post: https://github.com/reactwg/react-18/discussions/70。

[10]useSyncExternalStore API details: https://github.com/reactwg/react-18/discussions/86。

[11]Library Upgrade Guide for style: https://github.com/reactwg/react-18/discussions/110。

[12]Adding Strict Effects to Strict Mode: https://github.com/reactwg/react-18/discussions/19。

[13]How to Support Strict Effects: https://github.com/reactwg/react-18/discussions/18。

[14]More background on the the act testing API and related changes: https://github.com/reactwg/react-18/discussions/102。

[15]移除“setState on unmounted component” 警告: https://github.com/reactwg/react-18/discussions/82。

[16]Susponse 不再?gòu)?qiáng)制需要 fallback 屬性: https://github.com/reactwg/react-18/discussions/72。

[17]組件支持 render undefined: https://github.com/reactwg/react-18/discussions/75。

[18]廢棄 renderSubtreeIntoContainer: https://github.com/facebook/react/pull/23355。

[19]嚴(yán)格模式不再忽略自動(dòng)二次渲染組件的 log: https://github.com/reactwg/react-18/discussions/96。

責(zé)任編輯:姜華 來(lái)源: 前端技術(shù)磚家
相關(guān)推薦

2022-03-24 12:28:03

React 17React 18React

2022-04-18 08:57:32

React 18前端

2020-01-13 10:00:32

升級(jí)Windows 10Windows

2011-09-27 09:13:16

Ubuntu 11.0

2022-10-08 15:07:06

ChatOps運(yùn)維

2016-07-22 09:09:00

Linux Mint 升級(jí)Linux Mint

2019-07-15 07:58:10

前端開發(fā)技術(shù)

2022-08-04 08:17:27

React高階組件

2017-09-05 08:52:37

Git程序員命令

2021-07-29 07:55:20

React實(shí)踐代碼

2022-03-22 09:09:17

HookReact前端

2022-08-28 20:34:42

LinuxLinux Mint

2021-10-20 12:47:06

UbuntuUbuntu 21.1Linux

2013-11-27 09:38:11

OpenSUSE 13OpenSUSE 12

2015-07-29 10:21:03

微軟Windows 10升級(jí)

2022-12-20 08:22:42

CommitMuation

2022-11-10 16:55:41

ReactFiber

2022-11-01 11:40:52

Ubuntu22.0422.10

2015-10-10 17:41:41

Kernel內(nèi)核Ubuntu

2013-08-20 15:48:50

Fedora 18Fedora 19
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

爱福利在线视频| 亚洲综合免费视频| 亚洲免费毛片| 日本高清无吗v一区| 五月天亚洲综合| 亚洲va天堂va欧美ⅴa在线| 国产欧美激情| 久久精品在线播放| 波多野结衣影院| 国产精品videossex撒尿| 亚洲最大的成人av| 色综合久久久久久久久五月| 99国产精品久久久久99打野战| 99精品国产在热久久婷婷| 综合网中文字幕| 人妻av一区二区| 99热这里有精品| 91黄色免费版| 成人精品视频在线播放| aaa日本高清在线播放免费观看| 国产成a人亚洲精| 日本乱人伦a精品| 免费毛片在线播放免费| 日韩电影一区| 亚洲女人被黑人巨大进入al| 韩国三级丰满少妇高潮| 成人免费在线观看视频| 午夜影院在线观看欧美| aaa免费在线观看| yourporn在线观看中文站| 波多野结衣中文一区| 成人免费在线网址| 亚洲天堂手机在线| 日韩激情中文字幕| 欧美有码在线视频| 日韩三级一区二区三区| 牛牛国产精品| 久久精品国产亚洲精品2020| a资源在线观看| 亚洲三级网址| 亚洲另类xxxx| 亚洲色图14p| 麻豆一区二区| 日韩成人激情视频| 成人性生活免费看| 女人抽搐喷水高潮国产精品| 亚洲成人免费网站| 久久久久亚洲AV成人网人人小说| 日韩av黄色| 欧美日韩一区二区三区在线| 日韩福利视频在线| 日本精品在线中文字幕| 色婷婷av一区二区三区gif| 黄色av网址在线播放| av影院在线免费观看| 亚洲一线二线三线久久久| 久久香蕉视频网站| 综合久久2019| 亚洲一区二区在线观看视频 | 99久久99久久精品国产片果冰| 亚洲人线精品午夜| 一级特黄曰皮片视频| 国产一区二区在线| 中文字幕日本欧美| 影音先锋男人资源在线观看| 天天做天天爱天天综合网| 日韩中文字幕免费视频| 视频国产一区二区| 欧美伊人影院| 午夜精品久久久久久久久久久久| 91蜜桃视频在线观看| 午夜综合激情| 国产精品一二三在线| 国产精品久久久久久免费免熟| 激情五月婷婷综合网| 亚洲精品日韩激情在线电影| 性生活免费网站| 99精品视频在线观看免费| 欧美激情一区二区三区在线视频 | 欧美成人激情在线| 精品无码久久久久久久| 另类国产ts人妖高潮视频| 国产精品白丝jk喷水视频一区| 最新国产中文字幕| 国产美女一区二区| 极品日韩久久| 91看片在线观看| 伊人婷婷欧美激情| 国内外成人激情视频| 美女视频一区| 精品成a人在线观看| 中文字幕免费高清| 91精品国产调教在线观看| 久久久在线免费观看| 成人毛片一区二区三区| 国产传媒日韩欧美成人| 免费精品视频一区二区三区| 欧美激情免费| 欧美日韩国产一中文字不卡| 91亚洲精品久久久蜜桃借种| 国产一级成人av| 日韩在线中文字| 日本三级网站在线观看| 美女网站色91| 91在线在线观看| 国产人成在线视频| 亚洲第一综合色| 男女视频在线看| 国产另类在线| 久久最新资源网| 日日夜夜狠狠操| 成人国产电影网| 伊人av成人| 欧美一区 二区 三区| 精品久久久三级丝袜| 国产黄色片在线| 亚洲永久字幕| 99国产在线| 欧美激情二区| 欧美三级欧美一级| 日本丰满少妇裸体自慰| 欧美精品aa| 国产在线播放91| 久久国产精品高清一区二区三区| 夜夜爽夜夜爽精品视频| 老司机久久精品| 一道本一区二区三区| 久久久欧美精品| 国产黄色小视频在线观看| 国产精品久久久久天堂| 大肉大捧一进一出好爽动态图| 精品国产影院| 欧美黑人巨大xxx极品| 国产精品久久久久久无人区| 中文在线免费一区三区高中清不卡| 黄网站欧美内射| 粉嫩的18在线观看极品精品| 欧美精品午夜视频| 国产乱码久久久久| 国产亚洲午夜高清国产拍精品| 青青草精品视频在线| 一区二区日韩| 欧美美女操人视频| 成人激情四射网| 亚洲精品伦理在线| 久久黄色一级视频| 好看不卡的中文字幕| 97人人模人人爽视频一区二区| a篇片在线观看网站| 欧美精选一区二区| 卡通动漫亚洲综合| 国产一区欧美一区| 国产精品视频一二三四区| 亚洲国产高清在线观看| 九九精品在线观看| 黄色www视频| 亚洲成人激情综合网| 亚洲国产综合视频| 媚黑女一区二区| 亚洲黄色成人久久久| 久久国产三级| 麻豆乱码国产一区二区三区| 精品国产亚洲一区二区麻豆| 亚洲最色的网站| 中文字幕 亚洲一区| 香蕉久久夜色精品| 亚洲 国产 日韩 综合一区| 青青青国产精品| 美女999久久久精品视频| 亚洲精品18p| 日韩欧美国产骚| 黑人と日本人の交わりビデオ| 麻豆精品一区二区| 九一免费在线观看| 台湾色综合娱乐中文网| 国产精品精品久久久| yellow91字幕网在线| 亚洲国产日韩精品在线| 69xxxx国产| 亚洲免费在线视频一区 二区| 四虎精品一区二区| 日本欧美在线观看| 肉大捧一出免费观看网站在线播放| 波多野结衣在线一区二区 | 国产a区久久久| 男人日女人下面视频| 日韩毛片视频| 国产美女精品在线观看| 国产综合色区在线观看| 超碰精品一区二区三区乱码| 天天干天天爱天天操| 欧美视频精品在线观看| 久久精品国产亚洲av无码娇色| 久久久欧美精品sm网站| 亚洲三级在线视频| 久久xxxx| 激情成人开心网| 欧美在线电影| 成人在线视频网址| jizzyou欧美16| 午夜精品久久久久久久99黑人| 国产精品秘入口| 精品欧美乱码久久久久久 | 亚洲国产成人精品综合99| 久久综合狠狠综合久久综合88 | 成人av免费在线播放| 亚洲精品手机在线观看| 国产日韩免费| 丁香色欲久久久久久综合网| 欧美成人激情| 欧美污视频久久久| 美女福利一区| 97欧洲一区二区精品免费| 欧美综合影院| 国产成人亚洲综合91| av中文字幕电影在线看| 免费97视频在线精品国自产拍| 福利视频在线播放| 日韩精品中文在线观看| 午夜精品久久久久久久第一页按摩 | 久久影视一区二区| www.四虎精品| 国产精品 欧美精品| 天堂av8在线| 麻豆精品精品国产自在97香蕉| 久久久999视频| 亚洲第一精品影视| 美女黄色免费看| 亚洲欧洲日韩| 在线免费观看成人网| 国产精品入口久久| 欧美国产二区| 国产成人av| 麻豆久久久9性大片| 久久99精品国产自在现线| 99精品在线直播| 日韩免费一级| 99久久国产免费免费| 国产精品一区二区美女视频免费看 | avav在线看| 国产视频一区欧美| 每日在线观看av| 一区二区亚洲| 久久黄色片视频| 亚洲欧美春色| 人妻丰满熟妇av无码区app| 午夜在线视频观看日韩17c| 男人靠女人免费视频网站| 国产日韩欧美| 日本男人操女人| 免费观看日韩av| 国产三级三级看三级| 久久99精品久久久久久动态图| 高清av免费看| 国产麻豆一精品一av一免费| 国产大学生av| a级精品国产片在线观看| 精品一区二区视频在线观看| 91麻豆精品在线观看| b站大片免费直播| 国产精品欧美经典| 国产性生活大片| 亚洲一级二级在线| 国产情侣自拍av| 色吊一区二区三区| 岳乳丰满一区二区三区| 日韩一区二区在线观看视频| 好吊色在线观看| 精品视频在线导航| 91精彩在线视频| 九色精品美女在线| 欧美调教sm| 国产精品视频久久久久| 高清一区二区| 国产在线精品一区二区中文| 色婷婷精品视频| 亚洲人成人77777线观看| 欧美日韩三级| 99福利在线观看| 极品少妇xxxx精品少妇| 黄色激情在线观看| 国产日韩欧美麻豆| 久草网在线观看| 色婷婷国产精品久久包臀| 国产裸体永久免费无遮挡| 亚洲国产欧美一区二区三区同亚洲 | 78精品国产综合久久香蕉| 亚洲va国产va天堂va久久| 精品亚洲自拍| 一区二区三区偷拍| 亚洲伦理一区| 久久黄色片网站| 99久久综合狠狠综合久久| 五月天婷婷丁香网| 激情成人中文字幕| 国产伦理一区二区| 亚洲跨种族黑人xxx| av黄色在线| 国产精品久久久久久av下载红粉| 91蝌蚪精品视频| 亚洲精品中字| 国产欧美日韩综合一区在线播放| 伊人国产精品视频| 国产无遮挡一区二区三区毛片日本| 免费在线观看av网址| 欧洲av一区二区嗯嗯嗯啊| 免费成人在线看| 欧美成人四级hd版| 日本美女久久| 青青影院一区二区三区四区| 国产尤物精品| 97人人模人人爽人人澡| 国产亚洲精品aa| 欧美一级视频免费观看| 91精品一区二区三区在线观看| 国产中文字幕在线| 91高清视频在线免费观看| 亚洲1区在线| 小泽玛利亚av在线| 激情伊人五月天久久综合| 在线免费观看视频| 色综合久久九月婷婷色综合| 欧美自拍偷拍一区二区| 欧美成在线视频| 亚洲欧美专区| 日韩欧美精品一区二区三区经典| 国产日韩视频| 中文字幕乱码一区| 午夜视频在线观看一区二区 | jiyouzz国产精品久久| 国产成人久久久久| 欧美日韩国产综合草草| av国产在线观看| 国产精品极品美女粉嫩高清在线| 欧洲亚洲视频| 人妻有码中文字幕| 久久嫩草精品久久久精品| 国产三级av片| 亚洲电影免费观看高清完整版在线观看 | 午夜视频在线观| 亚洲婷婷国产精品电影人久久| 中文字幕日产av| 最近2019免费中文字幕视频三 | 天美传媒免费在线观看| 欧美伊人久久久久久久久影院 | 亚洲自拍第三页| 亚洲欧美在线另类| 国产剧情精品在线| 欧美成年人在线观看| swag国产精品一区二区| 国产爆乳无码一区二区麻豆| 成人中文字幕在线| 国产精品500部| 亚洲精品在线观看www| 欧美黄色网页| 一级做a爰片久久| 国产精品性做久久久久久| 久久精品国产亚洲AV无码男同| 精品国产免费视频| 老牛影视精品| 欧洲一区二区在线| 毛片av一区二区| a级黄色片免费看| 亚洲国产成人久久综合一区| 日韩欧美精品一区二区三区| 欧美日韩一区二 | 成人在线精品视频| 欧美日本在线| 大黑人交xxx极品hd| 欧日韩精品视频| 二区三区在线观看| 国产日产精品一区二区三区四区| 免费中文字幕日韩欧美| 伊人影院综合网| 日韩免费电影网站| 91av亚洲| 久久精品在线免费视频| 99视频在线精品| 国产又爽又黄免费软件| 欧美黑人巨大精品一区二区| 欧美在线导航| 亚洲a级黄色片| 亚洲.国产.中文慕字在线| 九一国产在线| 97人人模人人爽人人少妇| 欧美一级播放| 91杏吧porn蝌蚪| 国产视频自拍一区| 国产精品美女久久久久| 播放灌醉水嫩大学生国内精品| 亚洲欧洲成人自拍| 桃花色综合影院| 91久久久久久久久久久久久| 日韩午夜在线电影| 成年人网站在线观看视频| 日韩av在线网| 国产麻豆一区二区三区| 国产精品后入内射日本在线观看| 亚洲视频图片小说| 麻豆国产在线播放|