国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

無廢話 | 快速上手React路由

共 22389字,需瀏覽 45分鐘

 ·

2021-04-26 18:27


點(diǎn)擊上方“前端Sharing”,選擇“設(shè)為星標(biāo)
第一時(shí)間關(guān)注技術(shù)干貨!


本文以簡(jiǎn)潔為目標(biāo),幫助快速上手react-router-dom默認(rèn)你接觸過路由相關(guān)的開發(fā)

安裝

輸入以下命令進(jìn)行安裝:

// npm
npm install react-router-dom

// yarn
yarn add react-router-dom

react-router相關(guān)標(biāo)簽

react-router常用的組件有以下八個(gè):

import { 
  BrowserRouter,
  HashRouter,
  Route,
  Redirect,
  Switch,
  Link,
  NavLink,
  withRouter,
from 'react-router-dom'

簡(jiǎn)單路由跳轉(zhuǎn)

實(shí)現(xiàn)一個(gè)簡(jiǎn)單的一級(jí)路由跳轉(zhuǎn)

import { 
    BrowserRouter as Router, 
    Route, 
    Link 
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        <Link to="/home" className="link">跳轉(zhuǎn)Home頁面</Link>
        <Link to="/about" className="link">跳轉(zhuǎn)About頁面</Link>
        <Route path="/home" component={Home}/>
        <Route path="/about" component={About}/>
      </Router>
    </div>

  );
}

export default App;

效果如下:

要點(diǎn)總結(jié):

  1. Route組件必須在Router組件內(nèi)部
  2. Link組件的to屬性的值為點(diǎn)擊后跳轉(zhuǎn)的路徑
  3. Route組建的path屬性是與Link標(biāo)簽的to屬性匹配的; component屬性表示Route組件匹配成功后渲染的組件對(duì)象

嵌套路由跳轉(zhuǎn)

React 的路由匹配層級(jí)是有順序的

例如,在 App 組件中,設(shè)置了兩個(gè)路由組件的匹配路徑,分別是 /home/about,代碼如下:

import { 
  BrowserRouter as Router, 
  Route, 
  Link,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({

  return (
    <div className="App">
      <Router>
        <Link to="/home">跳轉(zhuǎn)Home頁面</Link>
        <Link to="/about">跳轉(zhuǎn)About頁面</Link>

        <Route path="/home" component={Home}/>
        <Route path="/about" component={About}/>                           

      </Router>
    </div>

  );
}

export default App;

然后 Home 組件中同樣也想設(shè)置兩個(gè)路由組件的匹配路徑,分別是 /home/one/home/two,此時(shí)就可以看出,這個(gè) /home/one/home/two 為上一級(jí)路由 /home 的二級(jí)嵌套路由,代碼如下:

import React from 'react'
import {
    Route,
    Link,
from 'react-router-dom'
import One from './one'
import Two from './two'

function Home ({
    
    return (
        <>
            我是Home頁面
            <Link to="/home/one">跳轉(zhuǎn)到Home/one頁面</Link>
            <Link to="/home/two">跳轉(zhuǎn)到Home/two頁面</Link>

            <Route path="/home/one" component={One}/>
            <Route path="/home/two" component={Two}/>
        </>

    )
}

export default Home

特別注意: Home 組件中的路由組件 One 的二級(jí)路由路徑匹配必須要寫 /home/one ,而不是 /one ,不要以為 One 組件看似在 Home 組件內(nèi)就可以簡(jiǎn)寫成 /one

動(dòng)態(tài)鏈接

NavLink可以將當(dāng)前處于active狀態(tài)的鏈接附加一個(gè)active類名,例如:

import { 
    BrowserRouter as Router, 
    Route, 
    NavLink 
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        <NavLink to="/home" className="link">跳轉(zhuǎn)Home頁面</NavLink>
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>
        <Route path="/home" component={Home}/>
        <Route path="/about" component={About}/>
      </Router>
    </div>

  );
}

export default App;
/* 設(shè)置active類的樣式 */
.active {
    font-weight: blod;
    color: red;
}

效果如下:

路由匹配優(yōu)化

當(dāng)點(diǎn)擊跳轉(zhuǎn)鏈接時(shí),會(huì)自動(dòng)去嘗試匹配所有的Route對(duì)應(yīng)的路徑,如圖所示:

正常情況下,只需匹配到一個(gè)規(guī)則,渲染即可,即匹配成功一個(gè)后,無需進(jìn)行后續(xù)的匹配嘗試,此時(shí)可以用Switch組件,如下所示:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        <NavLink to="/home" className="link">跳轉(zhuǎn)Home頁面</NavLink>   
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>

        <Switch>
          <Route path="/home" component={Home}/>       
          <Route path="/about" component={About}/>      
          <Route path="/home" component={Home}/>       
          <Route path="/home" component={Home}/>        
          {/* 此處省略一萬個(gè)Route組件 */}                  
          <Route path="/home" component={Home}/>                           
        </Switch>

      </Router>
    </div>

  );
}

export default App;

效果如下:

要點(diǎn)總結(jié):

  1. 將多個(gè)Route組件同時(shí)放在一個(gè)Switch組件中,即可避免多次無意義的路由匹配,以此提升性能

重定向

當(dāng)頁面跳轉(zhuǎn)時(shí),若跳轉(zhuǎn)鏈接沒有匹配上任何一個(gè) Route 組件,那么就會(huì)顯示 404 頁面,所以我們需要一個(gè)重定向組件 Redirect ,代碼如下:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
  Redirect,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        <NavLink to="/home" className="link">跳轉(zhuǎn)Home頁面</NavLink>   
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>
        <NavLink to="/shop" className="link">跳轉(zhuǎn)Shop頁面</NavLink>   {/* 點(diǎn)擊,跳轉(zhuǎn)到/shop,但該路徑?jīng)]有設(shè)置 */}

        <Switch>
          <Route path="/home" component={Home}/>       
          <Route path="/about" component={About}/>      
          <Redirect to="/home" />    {/* 當(dāng)以上Route組件都匹配失敗時(shí),重定向到/home */}                    
        </Switch>

      </Router>
    </div>

  );
}

export default App;

效果如下:

路由傳參

所有路由傳遞的參數(shù),都會(huì)在跳轉(zhuǎn)路由組件的 props 中獲取到,每種傳參方式接收的方式略有不同

路由傳參的方式一共有三種,依次來看一下

第一種

第一種是在 Link 組件的跳轉(zhuǎn)路徑上攜帶參數(shù),并在 Route 組件的匹配路徑上通過 :參數(shù)名 的方式接收參數(shù),代碼如下:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        {/* 在 /home 的路徑上攜帶了 張三、18 共兩個(gè)參數(shù) */}
        <NavLink to="/home/張三/18" className="link">跳轉(zhuǎn)Home頁面</NavLink>   
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>

        <Switch>
          {/* 在 /home 匹配路徑上相同的位置接收了 name、age 兩個(gè)參數(shù) */}
          <Route path="/home/:name/:age" component={Home}/>       
          <Route path="/about" component={About}/>                           
        </Switch>

      </Router>
    </div>

  );
}

export default App;

嘗試跳轉(zhuǎn),并打印一下路由組件的 props

可以看到,第一種方式的參數(shù)是通過 props.match.params 來獲取的

第二種

第二種方式就是通過在 Link 組件的跳轉(zhuǎn)鏈接后面跟上以 ? 開頭,類似 ?a=1&b=3 這樣的參數(shù)進(jìn)行傳遞,代碼如下:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        {/* 在跳轉(zhuǎn)路徑后面以?開頭傳遞兩個(gè)參數(shù),分別為name=張三、age=18 */}
        <NavLink to="/home?name=張三&age=18" className="link">跳轉(zhuǎn)Home頁面</NavLink>   
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>

        <Switch>
          {/* 此處無需做接收操作 */}
          <Route path="/home" component={Home}/>       
          <Route path="/about" component={About}/>                           
        </Switch>

      </Router>
    </div>

  );
}

export default App;

嘗試跳轉(zhuǎn),并打印一下路由組件的 props

可以看到,第二種方式的參數(shù)是通過 props.location.search 來獲取的,不過這里的參數(shù)需要自己簡(jiǎn)單做進(jìn)一步轉(zhuǎn)化,這里就不做過多說明了

第三種

第三種方式就是以對(duì)象的形式編寫 Link 組件的 to 跳轉(zhuǎn)屬性,并通過 state 屬性來傳遞參數(shù),代碼如下:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        {/* 以對(duì)象的形式描述to屬性,路徑屬性名為pathname,參數(shù)屬性名為state */}
        <NavLink to={{pathname: "/home", state: {name: '張三', age: 18}}} className="link">跳轉(zhuǎn)Home頁面</NavLink>   
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>

        <Switch>
          {/* 此處無需特地接收屬性 */}
          <Route path="/home" component={Home}/>       
          <Route path="/about" component={About}/>                           
        </Switch>

      </Router>
    </div>

  );
}

export default App;

嘗試跳轉(zhuǎn),并打印一下路由組件的 props

可以看到,第三種方式的參數(shù)是通過 props.location.state 來獲取的

函數(shù)式路由

以上主要都是通過 react-router-dom 中的 Link 組件來往某個(gè)路由組件跳轉(zhuǎn)

但有時(shí),我們需要更靈活的方式進(jìn)行跳轉(zhuǎn)路由,例如通過調(diào)用一個(gè)函數(shù),隨時(shí)隨地進(jìn)行路由跳轉(zhuǎn),這就叫函數(shù)式路由

函數(shù)式路由用到的方法有以下 5 個(gè)(下方截圖來自路由組件props

5 個(gè)方法分別是 pushreplace、goForward、goBack、go,接下來按順序介紹一下這幾個(gè)方法

push

push 方法就是使頁面跳轉(zhuǎn)到對(duì)應(yīng)路徑,并在瀏覽器中留下記錄(即可以通過瀏覽器的回退按鈕,返回上一個(gè)頁面)

舉個(gè)例子:在路由組件 Home 中設(shè)置一個(gè)按鈕 button ,點(diǎn)擊后調(diào)用 push 方法,跳轉(zhuǎn)到 /about 頁面

import React from 'react'

function Home (props{

    let pushLink = () => {
        props.history.push('/about')
    }
    
    return (
        <div className="a">
            我是Home頁面
            <button onClick={pushLink}>跳轉(zhuǎn)到about頁面</button>
        </div>

    )
}

export default Home

跳轉(zhuǎn)效果如下:

可以看到,通過 push 方法跳轉(zhuǎn)以后,可以通過瀏覽器的回退按鈕,返回上一個(gè)頁面

replace

replace 方法與 push 方法類似,不一樣的地方就是,跳轉(zhuǎn)后不會(huì)在瀏覽器中保存上一個(gè)頁面的記錄(即無法通過瀏覽器的回退按鈕,返回上一個(gè)頁面)

改動(dòng)一下代碼

import React from 'react'

function Home (props{

    let replaceLink = () => {
        props.history.replace('/about')
    }
    
    return (
        <div className="a">
            我是Home頁面
            <button onClick={replaceLink}>跳轉(zhuǎn)到about頁面</button>
        </div>

    )
}

export default Home

跳轉(zhuǎn)效果如下:

可以看到,剛開始的路徑是 '/' ,然后跳轉(zhuǎn)到 '/home' ,再點(diǎn)擊按鈕,通過 replace 方法跳轉(zhuǎn)到 /about 頁面。最后通過瀏覽器的回退按鈕返回到了 / 頁面,說明中間的 /home 沒有被存在瀏覽器的記錄里

goForward

調(diào)用 goForward 方法,就相當(dāng)于點(diǎn)擊了瀏覽器的返回下一個(gè)頁面按鈕,如下圖所示:

這里就不做過多演示了

goBack

調(diào)用 goBack 方法,就相當(dāng)于點(diǎn)擊了瀏覽器的返回上一個(gè)頁面的按鈕,如下圖所示:

go

go 方法顧名思義,是用于跳轉(zhuǎn)到指定路徑的。

該方法接受一個(gè)參數(shù)(參數(shù)類型為 Number),情況如下:

  1. 當(dāng)參數(shù)為正數(shù) n 時(shí),表示跳轉(zhuǎn)到下 n 個(gè)頁面。例如 go(1) 相當(dāng)于調(diào)用了一次 goForward 方法
  2. 當(dāng)參數(shù)為負(fù)數(shù) n 時(shí),表示跳轉(zhuǎn)到上 n 個(gè)頁面。例如 go(-3) 相當(dāng)于調(diào)用了三次 goBack 方法
  3. 當(dāng)參數(shù)為 0 時(shí),表示刷新當(dāng)前頁面

普通組件使用路由

這里區(qū)分兩個(gè)概念,分別為 普通組件路由組件

通過 Route 組件渲染的組件為路由組件 ,其余的基本上都為 普通組件

例如,下方代碼中:Home 組件為路由組件 ; App 組件為普通組件

import {
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
from 'react-router-dom'
import Home from './home'

export default function App({
  
  return (
    <div className="App">
      <Router>
        <NavLink to='/home' className="link">跳轉(zhuǎn)Home頁面</NavLink>   

        <Switch>
          <Route path="/home" component={Home}/>                              
        </Switch>

      </Router>
    </div>

  );
}

然后,路由組件跟普通組件最大的區(qū)別就是,組件的 props 屬性中是否有下圖所示的內(nèi)容:(前者有,后者無)

此時(shí),react-router-dom 提供了一個(gè) withRouter 方法,可以使普通組件也能像路由組件一樣有那些方法或數(shù)據(jù)可以使用

使用方法如下:

import { 
  BrowserRouter as Router, 
  Route, 
  NavLink,
  Switch,
  withRouter,  // 1. 引入 witRouter
from 'react-router-dom'
import About from './about'

function App(props{

  console.log(props);   // 3. 嘗試打印普通組件App的props,發(fā)現(xiàn)此時(shí)props中已有內(nèi)容了,即普通組件也能擁有跟路由組件一樣類似的功能

  return (
    <div className="App">
      <Router>
        <NavLink to="/about" className="link">跳轉(zhuǎn)About頁面</NavLink>

        <Switch>
          <Route path="/about" component={About}/>                           
        </Switch>

      </Router>
    </div>

  );
}

export default withRouter(App);  // 2. 通過withRouter方法對(duì)普通組件做一層包裝處理

補(bǔ)充

replace

在函數(shù)式路由里跳轉(zhuǎn)類型主要有兩種,分別是 pushreplace,那么在非函數(shù)式路由中,同樣也可以自定義跳轉(zhuǎn)類型,具體的實(shí)現(xiàn)代碼如下:

import { 
    BrowserRouter as Router, 
    Route, 
    Link 
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({
  return (
    <div className="App">
      <Router>
        <Link to="/home" className="link">跳轉(zhuǎn)Home頁面</Link>
        <Link to="/about" className="link">跳轉(zhuǎn)About頁面</Link>

        <Route path="/home" component={Home} replace={true}/>  {/* replace為true,跳轉(zhuǎn)類型為replace */}
        <Route path="/about" component={About} replace={false}/>   {/* replace為false,跳轉(zhuǎn)類型為push */}
      </Router>
    </div>

  );
}

export default App;

Route 組件上有個(gè) replace 屬性可以設(shè)定跳轉(zhuǎn)類型,當(dāng)值為 true 時(shí),跳轉(zhuǎn)類型為 replace ; 為 false 時(shí),跳轉(zhuǎn)類型為 push

excat

路由的匹配默認(rèn)是模糊匹配的,舉個(gè)例子:

import { 
  BrowserRouter as Router, 
  Route, 
  Link,
from 'react-router-dom'
import Home from './home'
import About from './about'

function App({

  return (
    <div className="App">
      <Router>
        <Link to="/home/abc">跳轉(zhuǎn)Home頁面</Link>    {/* 跳轉(zhuǎn)到/home/abc,但實(shí)際home下沒有abc這個(gè)路由組件 */}
        <Link to="/about/abc">跳轉(zhuǎn)About頁面</Link>  {/* 跳轉(zhuǎn)到/about/abc,但實(shí)際home下也沒有abc這個(gè)路由組件 */}

        <Route path="/home" component={Home} />    {/* 路由匹配規(guī)則為/home,沒有設(shè)置exact屬性,當(dāng)前為模糊匹配 */}
        <Route path="/about" component={About} exact/>   {/* 路由匹配規(guī)則為/about,設(shè)置了exact屬性,當(dāng)前為精準(zhǔn)匹配 */}

      </Router>
    </div>

  );
}

export default App;

效果如下:

圖中看出,因?yàn)樘D(zhuǎn) /home/abc 時(shí),第一個(gè) Route 組件是模糊匹配的,所以先匹配到了 /home,因此 Home 組件渲染了 ; 而跳轉(zhuǎn) /about/abc 時(shí),第二個(gè) Route 組件是精準(zhǔn)匹配的,即 /about/abc 不等于 /about,所以 About 組件也沒有渲染

總結(jié):

  1. 如果想要精準(zhǔn)匹配的話,只需要將 Route 組件的 exact 屬性設(shè)置為 true 即可
  2. 精準(zhǔn)匹配要謹(jǐn)慎使用,因?yàn)榭赡軙?huì)影響嵌套路由的使用


本文為公眾號(hào)【前端Sharing】

關(guān)注我,閱讀更多精彩內(nèi)容

▽▽▽



瀏覽 29
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产高潮视频在线观看| 臭小子啊轻点灬太粗太长了的视频 | 18禁无码永久免费网站大全| 中文字幕高清| 日本翔田千里奶水| 无码A区| 天堂成人在线视频| a片在线观看视频| 操比二区| 你懂的视频在线| 人妻熟妇乱子伦精品无码专区毛片| 婷婷五月中文| 国产suv精品一区二区6精华液 | 日韩精品一区二区三区在线观看免费 | 久精久久| 成人A毛片| 九九精品国产| 99久久99久久久精品棕色圆| 人人看人人插| 国模无码在线| 在线观看AV无码| 豆花视频成人版www满18| 亚洲视频在线观看网站| 麻豆成人片| 国产h在线播放| 大香蕉看片| 久久99深爱久久99精品| 欧美MV日韩MV国产网站| 国产精品久久视频| 黄色视频网站在线播放| 日韩成人在线免费观看| 特级西西444www高清| 黄色影视不卡| 亚洲无码黄色片| 欧美啪啪啪| 国产熟妇码视频| 初尝人妻滑进去了莹莹视频| gogogo日本免费观看高清电视剧的注意 | 影音先锋黄色资源| 日韩AV一区二区在线观看| 国产欧美综合一区二区三区| 久久久人妻熟妇精品无码蜜桃| 香蕉视频成人在线| 国产黄色视频免费在线观看| 国产操穴| AA片在线观看视频在线播放| 亚洲精品蜜桃| 五月开心激情网| 淫荡人妻视频| 日本精品人妻| 欧美视频色| 亚洲性爱在线观看| 俺来也在线视频| 手机在线小视频| 国产精品你懂得| 在线国产小视频| 欧美高清一区二区| 亚洲人妻AV| 日韩欧美在线免费| 在线黄色小视频| 国内精品久久久| 激情AV在线观看| 神马午夜精品91| 91精品国产乱码久久久| 国产视频福利| 亚洲无码在线免费观看| 亚洲性爱在线观看| 国产性爱在线观看| 狠狠穞A片一區二區三區| 日逼视频免费| 欧美日韩性色无码免费| 亚洲综合免费观看高清完整版在线观| 亚洲无遮挡| 911国产在线| 黑人一级片| 理论片熟女奶水哺乳| 国产精品黄色视频| 日韩中文字码无砖| 一级黄片免费观看| 国产精品免费一区二区三区都可以| 东北骚妇大战黑人视频| 性爱视频91| 乱伦五月天| 天天操比| 久艹| 男女福利视频| 中文字幕++中文字幕明步| 欧美人妻精品| 老妇性BBWBBWBBWBBW| 亚洲色热| 成人免费无码婬片在线观看免费| xxxx日韩| 国产一级女婬乱免费看| 日韩三级一区二区| 日韩三级片网站| a在线观看视频| 97人妻人人揉人人躁人人| 91精品国产aⅴ一区二区| 91热久久| 色999日韩| 久9视频| 中文字幕在线观看视频免费| 99国产热| 欧美内射网站| 亚洲精品秘一区二区三小| 中文字幕高清无码在线观看| 午夜福利影片| 天天操夜操| 色五月婷婷在线| 风流少妇一区二区三区91| 中文字幕乱码中文字幕| 一本之道DVD不卡视频| 免费av毛片| 人妻在线无码| jjzz亚洲| 玖玖综合网| 日韩欧美视频| 欧美日韩国产中文字幕| 大陆搡BBBBB搡BBBBBB| 日韩黄色大片| 亚洲视频欧美视频| 五月天激情综合| 污污污污污www网站免费观看| 夜夜骑婷婷91| 操比视频在线观看| 国产精品成人69| 99久久婷婷国产综合精品草原| 欧美成人第一页| 欧美一级免费观看| 亭亭五月丁香| 影音先锋日韩资源| 日本天堂网| 91成人亚洲| 日韩av在线免费观看| 中文字幕av在线播放| 亚洲无码影院| 天天干强奸视频在线综合| 国产精品秘精东影业| 久久A√一区二区| 一级片电影网站| 亚洲成人黄色视频| 亲子伦一区二区三区观看方式| 国产免费一级特黄A片| 亚洲无码久久精品| 亚洲在线无码播放| 色噜噜一区二区| 亚洲精品美女视频| www.人人操| 大鸡巴草逼| 五月无码视频| 青娱乐自拍视频| 伊人色播| 五月婷婷视频在线观看| 日本成人视频在线免费播放 | 五月天色婷婷丁香| 操操影视| 国产精品乱子伦一区二区三区视频| 久久免费看视频| 免费无码国产在线53| 狼友视频第二页| 人人摸人人看| 败火老熟女ThePorn视频| 久久狠狠干| 欧美操逼小视频| 靠逼网站免费观看| 亚洲免费视频网| 99视频精品视频| 国产AV日韩| 嗯啊在线视频| 亚洲AV人人夜夜澡人人| 精品一区国产| 你懂的网址在线观看| 日韩人妻无码中文字幕| 国产在线高潮| 青青草免费观看视频| 91人妻在线视频| 玖玖资源在线| 婷色五月| 日韩在线免费视频| 91成人视频18| 最新av| 台湾无码片| 波多野结衣无码网站| 成人国产精品秘在线看| 中文字幕乱码亚州无线码日韩理论电 | 在线免费观看无码视频| 色图插插插| 国产黄色av| 日韩精品成人无码| 亚洲高清无码在线视频| 国产在线导航| 在线观看视频一区| 欧美熟女性爱视频| 亚洲无码人妻在线| 亚洲午夜av| 久久伊人草| 大香蕉三级片| 成人aV免费观看| 2021狠狠操| 69国产成人综合久久精品欧美| 欧美性爱怡红院| 日韩免费黄色电影| 欧美激情五月| 成人国产精品在线观看| 69成人精品| 中文字幕亚洲视频在线观看| 69成人免费视频| 高清无码第一页| 伊人久久视频| 黄色av免费在线观看| 深爱激情五月天| 亚洲在线视频播放| 五月丁香成人| 欧美中文字幕在线播放| 99热国产在线观看| 噜噜噜在线视频| 久久国产乱子伦精品免费午夜...| 国产主播专区| 日韩精品中文无码| jizz在线观看免费视频| 日本无码在线| 最新国产av| 午夜成人在线观看| 日本AⅤ在线| 久久国产综合| 国产无遮挡| 一级A片亲子乱中文| 欧美伊人在线| 五月天婷婷久久| 国产精品视频| 一本到在线观看午夜剧场| 婷婷少妇激情| 免费无码国产在线55| 国产精品欧美精品| 五月丁香婷婷综合| 热久久在线| 日本乱伦网站| 婷婷午夜精品久久久久久性色AV| 97视频在线| 五月天婷婷在线观看视频| 午夜福利电影网| 国产成人无码一区二区| 天天干夜夜爽| 国产wwwww| 男人的天堂在线播放| 日韩人妻无码中文字幕| 亚洲AV无码一区二区三竹菊| 丰满人妻一区二区三区46 | 亚洲精品国产成人综合久久久久久久久| 18禁在线播放| 国产欧美精品AAAAAA片| 国产精品无码中文在线| 玩弄人妻少妇500系列视频| 淫荡少妇美红久久久久久久久久| 围内精品久久久久久久久白丝制服| 91激情网| www.91爱爱,com| 偷窥丶亚洲丶熟女| 国产熟妇码视频app| 国产精品视频久久久| 日韩一级在线| 午夜福利无码电影| 色婷婷在线观看视频| 一级无码毛片| 亚洲免费av在线| 91人妻人人澡人人爽人妻| 97人妻无码一区二区| 成人女人18女人毛片| 色人天堂| 亚洲精品乱码久久久久久蜜桃91| 国产91人| 高清无码免费观看视频| 日韩免费黄色电影| 色骚爽大香蕉91| 久久亚洲精品视频| 欧美黄色免费观看| 一欧美日韩免费/看| 欧美色色综合| 欧美丰满老熟妇XXXXX性| 在线一区| 免费人成在线观看视频播放 | 色婷婷色| 青娱乐A片| 欧美日色| 亚洲系列| 婷婷亚洲五月色综合| 婷婷性爱五月天| 天天操天天看| 亚洲三级AV| 91视频免费播放| 中文无码在线| 欧美精品不卡| 天天操夜夜操狠狠操| 91久久影院| 欧美特级视频| 久久国产av| 亚洲无码在线高清| 国产三级片在线观看视频| 日韩高清在线| 国产欧美综合三级伦| 免费A网站| 国产在线不卡年轻点的| 国内精品久久久久久久久久变脸| 国产色无码网站www色视频| 黄色激情AV| 大地影视中文第三页最新在线观看 | 日本毛片视频| 国产麻豆AⅤMDMD0071| 亚洲三级av| 日本精品国产| 国产又黄又大又粗的视频| 婷婷久久婷婷| 日本黄色片| 亚洲AV无码乱码国产精品黑人| 免费无码进口视频| 国产成人97精品免费看片| 国产成人自拍视频在线观看| 国内操逼| 先锋AV资源在线| 国产成人大片| 色av网| 少妇bbb| www.sesese| 亚洲丝袜av| 翔田千里av| 91在线无码精品秘软件| 丁香欧美| 亚洲成人福利在线| 上海熟妇搡BBBB搡BBBB| 久久免费精品| 国产熟女在线| 男人的天堂视频| 骚BBBB槡BBB槡BBB| 国产色五月| 女同三区| 亚洲成人无码av| 日韩精品一区二区三区四区蜜桃视频 | 激情av天堂| 日韩黄网站| 成人精品在线观看| 校园春色亚洲色图| 久久久网| 日日摸日日添日日躁AV| 人人干人人操人人摸| 成人黄片在线免费观看| 久久久久久久久久久成人| 蕉蕉视| 精品蜜桃秘一区二区三区在线播放| 天天色图| 欧美日韩一区二区三区四区| 狼友视频在线| 免费看毛片的网站| 欧美成人性爱网| 波多野吉衣av| 华女与黑人91A∨| 在线成人毛片| 亚洲无码小电影| 亚洲色人妻| 免费看成人片| 日本少妇激情视频| 熟妇人妻中文AV无码| 无码日韩成人| 97福利在线| 国产乱国产乱老熟300视频| 日韩黄片免费看| 国产综合色婷婷精品久久| 特级婬片A片AAA毛片AA做头| 日本三级片免费观看| 综合久久中文字幕| 加勒比无码人妻| 久久99精品久久久久久水蜜桃 | 午夜福利影视| 亚洲中文自拍| 91足浴店按摩漂亮少妇| 干日本少妇| 久久久噜噜噜| 天天干网址| 色片在线| A视频免费| jjzz亚洲| 免费爱爱网站| 成人A片免费| 国产精品国产三级囯产普通话2 | wwwAV在线观看| 搡BBBB推BBBB推BBBB| 男人天堂大香蕉| 中文字幕av高清片,中文在线观看| 色色网五月天| 无套免费视频欧美| 簧片网站在线观看| 日本免费福利视频| 毛片3| 久婷婷| 人妻少妇无码| 日韩在线成人中文字幕亚洲| 成人在线观看网站| 婷婷五月天丁香网| 欧美性爱在线| 欧美一级在线免费观看| 影音先锋无码AV| 99这里有精品| 天天欧美| 日本中文字幕在线视频| 精品无码AV一区二区三区| 国产操片| 色综合大香蕉| 成人精东影业JDAV3密友| 色呦呦在线| 伊人网在线免费视频| 色逼| 人妻中文字幕av| 色色色色五月| 亚洲www| 亚洲精品中文字幕乱码三区91 | 精品在线播放视频| AV资源在线| 日本乱伦网| 好吊视频一区二区三区红桃视频you | 欧美国产高清| 操杨幂| 西西人体大胆裸体A片| 欧美色图狠狠操| 中文字幕一区二区三区四虎在线 | 天天色天天色| 国产乱妇无码毛片A片在线看下载| 国产高清小视频| 青草社区在线观看| 亚洲中文免费视频| 免费肏屄| 免费国产黄色| 欧美自拍| 樱桃码一区二区三区| 美女啪啪视频| 日韩小视频+国产| 丁香五月婷婷五月| 久久午夜福利电影| 成人五月天黄色电影| 午夜在线观看视频18| 日韩在线观看网址| 肥臀AV在线| 逼特逼视频在线观看| 日韩少妇AV| 亚洲免费高清| 超碰在线无码| 8050午| 久久人妻熟女中文字幕av蜜芽| 国产粉嫩在线观看| 国产精品久久久一区二区三区| 国产午夜在线视频| 操老女人逼视频| 江苏妇搡BBBB搡BBBB-百度| 无码国产一区二区三区四区五区| 成人动漫一区| 午夜天堂精品久久久久| 亚洲中文字幕免费在线观看 | 黄色电影免费网站| 亚洲在线视频免费观看| 成人TV| 成人毛片网| 日韩久久视频| 天天色操| 中文字幕在线观看福利视频| 2014AV天堂网| 欧美日韩日逼视频| 中文字幕高清免费看| 久久这里只有精品99| 亚洲成人精品AV| 韩国AV三级| 农村少妇久久久久久久| 人人操人人爽人人妻| 国产麻豆AⅤMDMD0071| 免费操B视频| 黄片视频在线免费看| 国产人妻一区二区三区欧美毛片 | 在线视频日本| 97免费视频在线观看| 另类老妇奶性生BBwBB| 欧美极品视频| 国产成人精品免高潮在线观看| 白虎高清无码大尺度免费在线观看| 一级片欧美| 99久久婷婷国产综合| 激情日逼| 亚州无码视频| 国产99自拍| 六月综合激情| 久久三级| 无码AV电影| 国产黄色自拍| 狠狠艹| 天堂中文在线视频| 五月婷婷五月| 日本免费在线黄色视频| 亚洲二区后入极品| 成人毛片在线| 在线免费观看黄色视频网站| 成人伊人AV| 国产精品毛片久久久久久久| 亚洲无码高清一区| 91无码精品国产AⅤ| 国产欧美在线综合| 五月激情网站| 黑人巨大精品欧美| 丝瓜污视频| 北条麻妃一区二区三区-免费免费高清观看 | 欧美一级片在线观看| 无码中文字幕在线播放| 嫩BBB槡BBBB槡BBBB免费视频 | 美女av网站| 日本少妇黄色视频| 无码h| 老妇槡BBBB槡BBBB槡| 精品九九九九九| 蜜桃av秘无码一区二区三| 人妻互换一二三区免费| 粉嫩99精品99久久久久久夜| 中文人妻无码| XXXX操| 免费一级电影| 亚洲激情黄色| 免费人成视频在线| 天天操天天操天天操天天| www.俺去也| 亚洲精品成人av无码| 欧美成人无码一区二区三区| 成人网站视频| 日日夜夜精品| 老司机无码视频| 亚洲.欧美.丝袜.中文.综合 | 天堂俺去俺来也www久久婷婷| 日韩无码人妻一区| 熟女人妻一区二区三区| 少妇无码视频| 丁香在线视频| 亚洲AV无码精品国产| 日韩无码2024| 懂色成人视频在线观看| 成人做爰A片AAA毛真人| jk在线观看| 超碰人人妻| 国产欧美精品一区二区三区| 国产黄色视频在线观看| 国产婷婷久久| 久久黄色免费视频| 91九色TS另类国产人妖| 西西888WWW大胆视频| 国产欧美精品成人在线观看| 国产精品你懂的| 中文字幕第69页| 日韩人妻无码电影| 在线中文AV| 人人摸人人操人人摸| 日韩免费av| 免费a视频在线观看| www.簧片| 蜜臀久久精品久久久久| 天天操夜夜操视频免费高清| 久草福利| 国产女人在线观看| 成人精品无码免费视频| 国产精品无码中文在线| 国产又爽又黄网站免费观看 | 成人在线激情| 无码国精品一区二区免费蜜桃| 中文字幕乱伦日本| 亚洲性爱AV| 老鸭窝在线观看视频| 精品少妇一区| 污网站18禁| 欧美日韩视频一区二区| 欧美一区三区视频z| 麻豆成人91精品二区三区| 国产黄在线观看| 一级一级一级做a免费一级做a| 日韩激情在线观看| 无码人妻AⅤ一区二区三区| 亚洲影音先锋资源| 北条麻妃一区二区三区-免费免费高清观看 | 亚洲中文综合| 免费无遮挡视频网站视频| 日韩无码中文字幕| 国产无遮挡又黄又爽又色学生软件 | 精品久久久久久久久久久| 亚洲人成色777777无码| 午夜综合网| 岛国AV免费在线| 亚洲高清无码一区二区| 一区二区成人免费视频| 黑人无码一二三四五区| H片在线观看| 亚洲AV免费在线观看| 国产成人精品一区二三区熟女在线| 337p大胆色噜噜噜噜噜| 成人看片| 亚洲乱伦图片| 东方av在线免费观看| 豆花视频一区二区| 强伦人妻一区二区三区视频| 午夜视频无码| 2025天天操夜夜操| 久久99久久视频| 久久国产黄色一级片| 性色网站| 无码视频免费在线观看| 麻豆免费视频| av三级片在线观看| 欧美在线色图| 内射在线| 黄色AV免费在线观看| 久久综合伊人777777| 99九九热| 久久黄色精品视频| 中文字幕在线观看有码| 日本黄色a片| 2016超碰| 91亚洲精品国产成人| 国产wwwww| 欧美日韩一区二区三区视频| 欧美男人天堂网| 人妻公日日澡久久久| 全部免费黄色视频| 国产精品无毛五区六区| 欧美无人区码suv| 国产激情在线视频| 中文字幕毛片| 激情欧美| 日韩欧美黄色| 亚洲精品偷拍| 蝌蚪窝在线观看| 在线观看亚洲天堂| 先锋影音AV资源网| 亚洲免费网| 亚洲无码专区在线| 在线免费观看AV片| 青春草在线观看视频| 人人澡人人添人人爽人人| 爱搞视频在线播放| 四虎精品成人无码A片| 呦小BBBB小小BBBB| 亚洲图片欧美另类| AV在线免费观看网址| 亚洲AV无码一区东京热久久| 天天操夜| 久久成人导航| 成人无码人妻| 免费在线A| 午夜福利资源| 中文字幕视频在线播放| 东京热国产| 青青草亚洲| 啊啊啊国产| 青青成人| 国产TS丝袜人妖系列视频| 国产理论| 五月天性爱视频| 九色91视频| 日韩无码久久久| 日韩无码精品视频| 国产成人免费| 国内无码| 色色天堂成人电影| 亚洲成人少妇老妇a视频在线| 中文视频免费播放| 亚洲欧洲无码在线| 日逼一级| 五月天无码av| 吴梦梦无码| 人人操人人网站| 影音先锋91| 亚洲免费小电影| 岛国AV免费在线| 黄色a级毛片| 人人爽人人操人人| 国产操b视频| 中文在线a∨在线| 超碰人人爽| 一级片欧美| 九九99精品| 少妇福利| 亚洲免费观看高清| 最新中文字幕| 欧美黄色激情视频网站| 香蕉A片| 亚洲精品国产精品乱码不卡√香蕉| 亚洲日本一区二区三区| 成人片网站在线观看| 99热99re6国产线播放| 无码一区二区黑人猛烈视频网站| 免费观看一级毛一片| 久久视频一区| 国产豆花视频| 中文字幕无码视频在线观看 | 99热国产| 囯产精品久久久久久久| 免费的毛片| 黄页网站免费在线观看| 中文字幕在线观看视频www| 大香蕉伊人久久| 欧美成人视频大全| 久久久无码精品亚洲日韩男男 | 国产一区免费观看| 国产强伦轩免费视频在线| 山东熟妇搡BBBB搡BBBB| 亚洲第一中文字幕网| 91麻豆精品91久久久久同性| 超碰日日夜夜| 久草高清视频| 影音先锋av在线资源| 日韩无码精品一区二区三区| 9797色色| 黄色二区| 丰满的人妻一区二区三区果冻 | 西西444| 色情片在线观看| 国产精品卡一卡二| 国产天堂在线| 亚洲视频无码| 中国1级毛片| 9l蝌蚪PORNY中文| 日韩一级片在线| 亚洲精品秘一区二区三区在线观看 | 日本成人中文字幕在线观看| 男人天堂99| 无码一区二区av| 亚洲免费观看高清完整| 六月激情丁香| h亚洲| 微拍福利一区| 黄色成人片| 在线观看视频一区| 夜夜骚| 大鸡巴操小逼视频| 久草com| 乱子伦日B视频| 中国操逼| 黃色一级A片一級片| 欧美一级二级三级| 天天色区| 日本A一级片| 日韩中文字幕网| 国产伦精一品二品三品app| 不卡免费视频| 99激情| 99re6热在线精品视频功能| 日韩操比视频| 亚洲AV成人电影| 四虎成人免费视频| 精品一区二区三区免费毛片| 日韩人妻无码视频| 国产91白浆四溢| 日日爱网| 蜜桃亚洲AV无码一区二区三区| 久久国产99| 九色影院| 日本无码在线| 亚洲AAA电影| TheAV精尽人亡av| www.簧片| 中文字幕AV播放| 亚洲无码三级| 久久无码成人| 久艹av| 青青草精品在线视频| 黄色片一级| 黄色片在线播放| 婷婷五月999| 99色国产| 狠狠操免费视频| 无码人妻精品一区二区三千菊电影 | 黄片亚洲| 欧美一区二区在线| 成人女人18女人毛片| 成人在线18| 91香蕉视频免费在线观看| 91成人电影在线| 国产精品无码在线观看| 三级理论片| 免费看黄色的网站| 国产无码小视频| 日本免费高清视频| 91在线精品视频| 欧美在线看片| 亚洲免费成人电影| 免费手机av| 伊人成人电影| 操极品美女| 国产农村乱婬片A片AAA图片| 免费日韩毛片| 91爽爽| 日韩无码高清视频| 91视频免费在线看| 精品动漫一区二区三区| 无码视频一区二区三区| 黃色A片一级一级一级久别的草原| 午夜av在线播放| 四虎综合网| 簧片网站在线观看| 色老板在线观看永久免费视频| 99艹艹| 一级免费爱爱| 亚洲无码一二区| 三级片中文字幕| 88国产精品| 乱轮视频| 怡红院综合网| 俺去俺来也www色视频| 一本久道综合| 豆花视频一区二区| caopro| www黄片| 男女抽插视频| 日日躁夜夜躁| 激情五月天网| 懂色中文字幕| 竹菊av一区二区三区四区五区 | 国产又爽又黄免费| 午夜成人免费视频| 丝袜人妻被操视频| 2020无码| 日本高清不卡视频| 国产午夜视频在线观看| 国产剧情自拍| 国产精品av在线播放| 无码一道本一区二区无码| 黄色毛片网站| 无码人妻一区二区三区三| 只有精品| 亚洲va国产va天堂va久久| 91视频美女内射| 国产中文字幕免费| 久久精品一区二区三区蜜芽的特点 | 高清无码免费不卡| 制服丝袜强奸乱伦| 天天干强奸视频在线综合| 成人一区二区在线观看| 欧美在线免费观看| 日韩AV在线免费观看| 开心五月色婷婷综合开心网| 成人性爱在线播放| 五月天性爱视频| 人人操人人干人人| 青青草成人在线观看| 中文字幕熟女人妻| 91激情在线| 99精品自拍| 成人三级片免费| 免费看性蜜桃| 亚洲深夜福利| 国产操美女| 大香蕉久久久| 欧美69成人| 成人动漫一区二区| 日韩精品在线观看视频| 在线观看免费a片| 蜜桃视频在线入口www| 91在线看| 日韩欧美成人网| 肏逼视频网站| 一级黄片免费看| 中文无码AV在线| 在线免费毛片| 精品一区国产探花| 免费色色视频| 亚洲欧美日韩综合| 亚洲综合免费观看高清完整版在线| 亚州无码精品| 亭亭五月丁香| 人人爱人人妻人人操| www亚洲视频| 亚洲色欧美| 天天摸天天摸| 国产亚洲三级| 神马午夜精品96| 欧美一级性爱在线观看| 韩国无码片| 91香蕉| 韩国无码高清视频| 一区在线观看视频| 国产三级国产三级国产普通话| 婷婷五月天丁香网| 久久亚洲成人| 69日逼| 亚洲免费黄片| 亚洲天堂AV在线观看| 久久精品| 蜜桃黄片AV在线观看| 韩国午夜激情| 91鸡巴| 五月播播| 91插插网| 欧美成人高清视频| 新妺妺窝窝777777野外| 国产成人免费| 丁香婷婷五月基地| 日韩一级在线播放| 亚洲人视频| 围内精品久久久久久久久久‘变脸 | 在线成人AV| 人人妻人人澡人人爽人人DVD | 自拍视频在线|