日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dva-知识地图

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dva-知识地图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:如果你使用 dva@2,請先忽略這里的路由部分,待更新。

不知大家學 react 或 dva 時會不會有這樣的疑惑:

  • es6 特性那么多,我需要全部學會嗎?
  • react component 有 3 種寫法,我需要全部學會嗎?
  • reducer 的增刪改應該怎么寫?
  • 怎么做全局/局部的錯誤處理?
  • 怎么發異步請求?
  • 怎么處理復雜的異步業務邏輯?
  • 怎么配置路由?
  • ...

這篇文檔梳理了基于?dva-cli?使用?dva?的最小知識集,讓你可以用最少的時間掌握創建類似?dva-hackernews?的全部知識,并且不需要掌握額外的冗余知識。

目錄

  • JavaScript 語言
    • 變量聲明
      • const 和 let
      • 模板字符串
      • 默認參數
    • 箭頭函數
    • 模塊的 Import 和 Export
    • ES6 對象和數組
      • 析構賦值
      • 對象字面量改進
      • Spread Operator
    • Promises
    • Generators
  • React Component
    • Stateless Functional Components
    • JSX
      • Component 嵌套
      • className
      • JavaScript 表達式
      • Mapping Arrays to JSX
      • 注釋
      • Spread Attributes
    • Props
      • propTypes
      • 往下傳數據
      • 往上傳數據
    • CSS Modules
      • 理解 CSS Modules
      • 定義全局 CSS
      • classnames Package
  • Reducer
    • 增刪改
    • 嵌套數據的增刪改
  • Effect
    • Effects
      • put
      • call
      • select
    • 錯誤處理
      • 全局錯誤處理
      • 本地錯誤處理
    • 異步請求
      • GET 和 POST
      • 統一錯誤處理
  • Subscription
    • 異步數據初始化
      • path-to-regexp Package
  • Router
    • Config with JSX Element (router.js)
    • Route Components
      • 通過 connect 綁定數據
      • Injected Props (e.g. location)
    • 基于 action 進行頁面跳轉
  • dva 配置
    • Redux Middleware
    • history
      • 切換 history 為 browserHistory
      • 去除 hashHistory 下的 _k 查詢參數
  • 工具
    • 通過 dva-cli 創建項目

JavaScript 語言

變量聲明

const 和 let

不要用?var,而是用?const?和?let,分別表示常量和變量。不同于?var?的函數作用域,const?和?let?都是塊級作用域。

const DELAY = 1000;let count = 0; count = count + 1;

模板字符串

模板字符串提供了另一種做字符串組合的方法。

const user = 'world'; console.log(`hello ${user}`); // hello world// 多行 const content = `Hello ${firstName},Thanks for ordering ${qty} tickets to ${event}. `;

默認參數

function logActivity(activity = 'skiing') {console.log(activity); }logActivity(); // skiing

箭頭函數

函數的快捷寫法,不需要通過?function?關鍵字創建函數,并且還可以省略?return?關鍵字。

同時,箭頭函數還會繼承當前上下文的?this?關鍵字。

比如:

[1, 2, 3].map(x => x + 1); // [2, 3, 4]

等同于:

[1, 2, 3].map((function(x) {return x + 1; }).bind(this));

模塊的 Import 和 Export

import?用于引入模塊,export?用于導出模塊。

比如:

// 引入全部 import dva from 'dva';// 引入部分 import { connect } from 'dva'; import { Link, Route } from 'dva/router';// 引入全部并作為 github 對象 import * as github from './services/github';// 導出默認 export default App; // 部分導出,需 import { App } from './file'; 引入 export class App extend Component {};

ES6 對象和數組

析構賦值

析構賦值讓我們從 Object 或 Array 里取部分數據存為變量。

// 對象 const user = { name: 'guanguan', age: 2 }; const { name, age } = user; console.log(`${name} : ${age}`); // guanguan : 2// 數組 const arr = [1, 2]; const [foo, bar] = arr; console.log(foo); // 1

我們也可以析構傳入的函數參數。

const add = (state, { payload }) => {return state.concat(payload); };

析構時還可以配 alias,讓代碼更具有語義。

const add = (state, { payload: todo }) => {return state.concat(todo); };

對象字面量改進

這是析構的反向操作,用于重新組織一個 Object 。

const name = 'duoduo'; const age = 8;const user = { name, age }; // { name: 'duoduo', age: 8 }

定義對象方法時,還可以省去?function?關鍵字。

app.model({reducers: {add() {} // 等同于 add: function() {}},effects: {*addRemote() {} // 等同于 addRemote: function*() {}}, });

Spread Operator

Spread Operator 即 3 個點?...,有幾種不同的使用方法。

可用于組裝數組。

const todos = ['Learn dva']; [...todos, 'Learn antd']; // ['Learn dva', 'Learn antd']

也可用于獲取數組的部分項。

const arr = ['a', 'b', 'c']; const [first, ...rest] = arr; rest; // ['b', 'c']// With ignore const [first, , ...rest] = arr; rest; // ['c']

還可收集函數參數為數組。

function directions(first, ...rest) {console.log(rest); } directions('a', 'b', 'c'); // ['b', 'c'];

代替 apply。

function foo(x, y, z) {} const args = [1,2,3];// 下面兩句效果相同 foo.apply(null, args); foo(...args);

對于 Object 而言,用于組合成新的 Object 。(ES2017 stage-2 proposal)

const foo = {a: 1,b: 2, }; const bar = {b: 3,c: 2, }; const d = 4;const ret = { ...foo, ...bar, d }; // { a:1, b:3, c:2, d:4 }

此外,在 JSX 中 Spread Operator 還可用于擴展 props,詳見?Spread Attributes。

Promises

Promise 用于更優雅地處理異步請求。比如發起異步請求:

fetch('/api/todos').then(res => res.json()).then(data => ({ data })).catch(err => ({ err }));

定義 Promise 。

const delay = (timeout) => {return new Promise(resolve => {setTimeout(resolve, timeout);}); };delay(1000).then(_ => {console.log('executed'); });

Generators

dva 的 effects 是通過 generator 組織的。Generator 返回的是迭代器,通過?yield?關鍵字實現暫停功能。

這是一個典型的 dva effect,通過?yield?把異步邏輯通過同步的方式組織起來。

app.model({namespace: 'todos',effects: {*addRemote({ payload: todo }, { put, call }) {yield call(addTodo, todo);yield put({ type: 'add', payload: todo });},}, });

React Component

Stateless Functional Components

React Component 有 3 種定義方式,分別是?React.createClass,?class?和?Stateless Functional Component。推薦盡量使用最后一種,保持簡潔和無狀態。這是函數,不是 Object,沒有?this?作用域,是 pure function。

比如定義 App Component 。

function App(props) {function handleClick() {props.dispatch({ type: 'app/create' });}return <div onClick={handleClick}>${props.name}</div> }

等同于:

class App extends React.Component {handleClick() {this.props.dispatch({ type: 'app/create' });}render() {return <div onClick={this.handleClick.bind(this)}>${this.props.name}</div>} }

JSX

Component 嵌套

類似 HTML,JSX 里可以給組件添加子組件。

<App><Header /><MainContent /><Footer /> </App>

className

class?是保留詞,所以添加樣式時,需用?className?代替?class?。

<h1 className="fancy">Hello dva</h1>

JavaScript 表達式

JavaScript 表達式需要用?{}?括起來,會執行并返回結果。

比如:

<h1>{ this.props.title }</h1>

Mapping Arrays to JSX

可以把數組映射為 JSX 元素列表。

<ul>{ this.props.todos.map((todo, i) => <li key={i}>{todo}</li>) } </ul>

注釋

盡量別用?//?做單行注釋。

<h1>{/* multiline comment */}{/*multilinecomment*/}{// single line}Hello </h1>

Spread Attributes

這是 JSX 從 ECMAScript6 借鑒過來的很有用的特性,用于擴充組件 props 。

比如:

const attrs = {href: 'http://example.org',target: '_blank', }; <a {...attrs}>Hello</a>

等同于

const attrs = {href: 'http://example.org',target: '_blank', }; <a href={attrs.href} target={attrs.target}>Hello</a>

Props

數據處理在 React 中是非常重要的概念之一,分別可以通過 props, state 和 context 來處理數據。而在 dva 應用里,你只需關心 props 。

propTypes

JavaScript 是弱類型語言,所以請盡量聲明 propTypes 對 props 進行校驗,以減少不必要的問題。

function App(props) {return <div>{props.name}</div>; } App.propTypes = {name: React.PropTypes.string.isRequired, };

內置的 prop type 有:

  • PropTypes.array
  • PropTypes.bool
  • PropTypes.func
  • PropTypes.number
  • PropTypes.object
  • PropTypes.string

往下傳數據

往上傳數據

CSS Modules

理解 CSS Modules

一張圖理解 CSS Modules 的工作原理:

button?class 在構建之后會被重命名為?ProductList_button_1FU0u?。button?是 local name,而?ProductList_button_1FU0u?是 global name 。你可以用簡短的描述性名字,而不需要關心命名沖突問題。

然后你要做的全部事情就是在 css/less 文件里寫?.button {...},并在組件里通過?styles.button?來引用他。

定義全局 CSS

CSS Modules 默認是局部作用域的,想要聲明一個全局規則,可用?:global?語法。

比如:

.title {color: red; } :global(.title) {color: green; }

然后在引用的時候:

<App className={styles.title} /> // red <App className="title" /> // green

classnames?Package

在一些復雜的場景中,一個元素可能對應多個 className,而每個 className 又基于一些條件來決定是否出現。這時,classnames?這個庫就非常有用。

import classnames from 'classnames'; const App = (props) => {const cls = classnames({btn: true,btnLarge: props.type === 'submit',btnSmall: props.type === 'edit',});return <div className={ cls } />; }

這樣,傳入不同的 type 給 App 組件,就會返回不同的 className 組合:

<App type="submit" /> // btn btnLarge <App type="edit" /> // btn btnSmall

Reducer

reducer 是一個函數,接受 state 和 action,返回老的或新的 state 。即:(state, action) => state

增刪改

以 todos 為例。

app.model({namespace: 'todos',state: [],reducers: {add(state, { payload: todo }) {return state.concat(todo);},remove(state, { payload: id }) {return state.filter(todo => todo.id !== id);},update(state, { payload: updatedTodo }) {return state.map(todo => {if (todo.id === updatedTodo.id) {return { ...todo, ...updatedTodo };} else {return todo;}});},}, };

嵌套數據的增刪改

建議最多一層嵌套,以保持 state 的扁平化,深層嵌套會讓 reducer 很難寫和難以維護。

app.model({namespace: 'app',state: {todos: [],loading: false,},reducers: {add(state, { payload: todo }) {const todos = state.todos.concat(todo);return { ...state, todos };},}, });

下面是深層嵌套的例子,應盡量避免。

app.model({namespace: 'app',state: {a: {b: {todos: [],loading: false,},},},reducers: {add(state, { payload: todo }) {const todos = state.a.b.todos.concat(todo);const b = { ...state.a.b, todos };const a = { ...state.a, b };return { ...state, a };},}, });

Effect

示例:

app.model({namespace: 'todos',effects: {*addRemote({ payload: todo }, { put, call }) {yield call(addTodo, todo);yield put({ type: 'add', payload: todo });},}, });

Effects

put

用于觸發 action 。

yield put({ type: 'todos/add', payload: 'Learn Dva' });

call

用于調用異步邏輯,支持 promise 。

const result = yield call(fetch, '/todos');

select

用于從 state 里獲取數據。

const todos = yield select(state => state.todos);

錯誤處理

全局錯誤處理

dva 里,effects 和 subscriptions 的拋錯全部會走?onError?hook,所以可以在?onError?里統一處理錯誤。

const app = dva({onError(e, dispatch) {console.log(e.message);}, });

然后 effects 里的拋錯和 reject 的 promise 就都會被捕獲到了。

本地錯誤處理

如果需要對某些 effects 的錯誤進行特殊處理,需要在 effect 內部加?try catch?。

app.model({effects: {*addRemote() {try {// Your Code Here} catch(e) {console.log(e.message);}},}, });

異步請求

異步請求基于 whatwg-fetch,API 詳見:https://github.com/github/fetch

GET 和 POST

import request from '../util/request';// GET request('/api/todos');// POST request('/api/todos', {method: 'POST',body: JSON.stringify({ a: 1 }), });

統一錯誤處理

加入約定后臺返回以下格式時,做統一的錯誤處理。

{status: 'error',message: '', }

編輯?utils/request.js,加入以下中間件:

function parseErrorMessage({ data }) {const { status, message } = data;if (status === 'error') {throw new Error(message);}return { data }; }

然后,這類錯誤就會走到?onError?hook 里。

Subscription

subscriptions?是訂閱,用于訂閱一個數據源,然后根據需要 dispatch 相應的 action。數據源可以是當前的時間、服務器的 websocket 連接、keyboard 輸入、geolocation 變化、history 路由變化等等。格式為?({ dispatch, history }) => unsubscribe?。

異步數據初始化

比如:當用戶進入?/users?頁面時,觸發 action?users/fetch?加載用戶數據。

app.model({subscriptions: {setup({ dispatch, history }) {history.listen(({ pathname }) => {if (pathname === '/users') {dispatch({type: 'users/fetch',});}});},}, });

path-to-regexp?Package

如果 url 規則比較復雜,比如?/users/:userId/search,那么匹配和 userId 的獲取都會比較麻煩。這是推薦用?path-to-regexp?簡化這部分邏輯。

import pathToRegexp from 'path-to-regexp';// in subscription const match = pathToRegexp('/users/:userId/search').exec(pathname); if (match) {const userId = match[1];// dispatch action with userId }

Router

Config with JSX Element (router.js)

<Route path="/" component={App}><Route path="accounts" component={Accounts}/><Route path="statements" component={Statements}/> </Route>

詳見:react-router

Route Components

Route Components 是指?./src/routes/?目錄下的文件,他們是?./src/router.js?里匹配的 Component。

通過 connect 綁定數據

比如:

import { connect } from 'dva'; function App() {}function mapStateToProps(state, ownProps) {return {users: state.users,}; } export default connect(mapStateToProps)(App);

然后在 App 里就有了?dispatch?和?users?兩個屬性。

Injected Props (e.g. location)

Route Component 會有額外的 props 用以獲取路由信息。

  • location
  • params
  • children

更多詳見:react-router

基于 action 進行頁面跳轉

import { routerRedux } from 'dva/router';// Inside Effects yield put(routerRedux.push('/logout'));// Outside Effects dispatch(routerRedux.push('/logout'));// With query routerRedux.push({pathname: '/logout',query: {page: 2,}, });

除?push(location)?外還有更多方法,詳見?react-router-redux

dva 配置

Redux Middleware

比如要添加 redux-logger 中間件:

import createLogger from 'redux-logger'; const app = dva({onAction: createLogger(), });

注:onAction 支持數組,可同時傳入多個中間件。

history

切換 history 為 browserHistory

import { browserHistory } from 'dva/router'; const app = dva({history: browserHistory, });

去除 hashHistory 下的 _k 查詢參數

import { useRouterHistory } from 'dva/router'; import { createHashHistory } from 'history'; const app = dva({history: useRouterHistory(createHashHistory)({ queryKey: false }), });

工具

通過 dva-cli 創建項目

先安裝 dva-cli 。

$ npm install dva-cli -g

然后創建項目。

$ dva new myapp

最后,進入目錄并啟動。

$ cd myapp $ npm start

總結

以上是生活随笔為你收集整理的dva-知识地图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

一区二区观看 | 色综合中文字幕 | 久草在线视频网 | 天天综合网国产 | 亚洲国产视频a | 视频一区二区精品 | 69av网| 日本最新高清不卡中文字幕 | www.久草.com | 狠狠色狠狠综合久久 | 91在线公开视频 | 欧美国产日韩一区二区 | 成人午夜影视 | 久久精品成人热国产成 | 99久热在线精品视频观看 | 中文字幕在线观看资源 | 久久久久国 | 成人免费在线观看电影 | 超碰人在线 | 国产日韩视频在线观看 | 中文字幕在线精品 | 久久久久一区二区三区四区 | 久久视频网 | 一区中文字幕电影 | 欧美日性视频 | 99久久精品一区二区成人 | 久久激情网站 | 狠狠色香婷婷久久亚洲精品 | 欧美激情综合网 | 黄色大全免费网站 | 九九激情视频 | 天天射综合 | 人人爱爱 | 丁香狠狠 | 国产成人高清在线 | 国产在线传媒 | 天海翼一区二区三区免费 | 西西www444 | 全黄色一级片 | 九九热国产视频 | 日本久久免费视频 | 国产精品亚洲片在线播放 | 国产精品美女久久久 | 色婷婷伊人 | 96超碰在线 | 日韩二区三区在线 | 亚洲欧美国产视频 | 中文字幕成人在线 | 免费69视频 | 国产小视频福利在线 | 国产视频精品免费播放 | 国产在线观看一区 | 91精品国产电影 | 国产视频一区在线播放 | 在线国产精品一区 | 国产成人精品av久久 | 久久久久久久久久影视 | 欧美日韩另类在线观看 | 日韩成人免费电影 | 亚洲国产精久久久久久久 | 99久久这里有精品 | 亚洲欧美日本国产 | 国产成人久久久久 | 四虎影视欧美 | 97免费中文视频在线观看 | 人人网av| 亚洲精品福利在线 | 天天操狠狠操夜夜操 | 色婷婷亚洲综合 | 97精品欧美91久久久久久 | 九九九在线观看视频 | 久久精品91久久久久久再现 | 婷婷福利影院 | 日韩中文字幕一区 | 九九九电影免费看 | 2019中文最近的2019中文在线 | 亚洲,播放 | 亚洲男男gaygay无套同网址 | 韩国三级在线一区 | 500部大龄熟乱视频使用方法 | 在线看免费 | 日本在线观看一区二区三区 | 99久久综合精品五月天 | 99热这里是精品 | 中文字幕一区二区在线观看 | 国产精品99久久久精品免费观看 | 91在线看视频 | 日韩性片| av在线a| 欧美另类xxx | 亚洲va欧美va国产va黑人 | 国产传媒中文字幕 | 久久视频在线看 | 国产成人一区二区三区免费看 | 波多野结衣网址 | 天海冀一区二区三区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 在线视频专区 | 中文字幕第一页av | 欧美日韩成人 | 久久福利国产 | 久久av福利| 黄色小网站免费看 | 91精品国产乱码在线观看 | 在线观看免费国产小视频 | 午夜精品久久久久 | 91一区一区三区 | 不卡的av在线播放 | 国产精品久久久久永久免费观看 | 欧美色操 | 亚洲精品国产第一综合99久久 | 一区二区中文字幕在线播放 | 成人一级 | 日韩免费中文字幕 | 免费91麻豆精品国产自产在线观看 | 久草在线在线精品观看 | 国产精品免费在线播放 | 99精品国产在热久久 | 一本一本久久aa综合精品 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 激情视频国产 | 久久一区二区三区超碰国产精品 | 日韩在线国产精品 | 久草网视频 | 九九综合久久 | 91资源在线视频 | 国产亚洲在线视频 | 国产福利一区二区三区视频 | 久久精品久久久久电影 | 日本韩国欧美在线观看 | 2017狠狠干| 久久久在线免费观看 | 色综合天天综合网国产成人网 | 色播五月婷婷 | 国产精品美女久久久免费 | 99爱爱| 久久高清片 | 色婷婷av在线 | 欧美一区二区三区特黄 | 亚洲综合成人在线 | 国产亚洲精品无 | 亚洲天堂香蕉 | 在线高清一区 | 在线观看免费av网站 | 久久成人免费电影 | 国产99久久久国产精品免费看 | 免费视频成人 | 西西www4444大胆在线 | 亚洲 精品在线视频 | 伊人伊成久久人综合网小说 | 美女黄视频免费 | 午夜精品电影一区二区在线 | 日韩精品免费一线在线观看 | 亚洲欧美综合精品久久成人 | 亚洲欧美视频一区二区三区 | 精品一二三区 | 久久亚洲福利视频 | 久久婷婷国产色一区二区三区 | 国产精品女教师 | 日韩va在线观看 | 欧美激情第28页 | 91精品视屏 | 欧美亚洲国产日韩 | 色噜噜狠狠狠狠色综合久不 | 91中文字幕在线播放 | 久久国产精品99精国产 | 日韩av手机在线观看 | 日韩av片无码一区二区不卡电影 | av综合站 | 伊人精品在线 | 激情偷乱人伦小说视频在线观看 | 国产成人精品一区二区三区福利 | 天天综合视频在线观看 | 麻豆国产精品va在线观看不卡 | 97超碰人人澡人人爱学生 | 98精品国产自产在线观看 | 99视频精品免费观看, | 中文字幕在线观看视频网站 | 亚洲成人资源 | 成人黄色片免费 | 国产精品精品久久久久久 | av电影av在线| 国产精品视频地址 | 欧美日韩国产综合网 | 天堂av在线免费 | 91精品区 | 五月婷婷色| 97成人精品视频在线播放 | 在线欧美中文字幕 | 色婷婷99 | 91在线精品秘密一区二区 | 日韩va亚洲va欧美va久久 | 日韩理论片在线观看 | 在线免费观看视频一区二区三区 | 欧美一级久久 | 五月天网站在线 | www.夜夜操| 国产精品久久久久久av | 免费aa大片 | 少妇bbw揉bbb欧美| 三上悠亚一区二区在线观看 | 亚州精品在线视频 | 国产精品a久久 | 国产日产高清dvd碟片 | 免费观看黄 | 亚洲国产精品影院 | 九九久久国产精品 | 中文字幕色网站 | 国产麻豆视频免费观看 | 91麻豆精品国产91久久久久 | 五月天亚洲婷婷 | 综合色综合 | 久久视频国产 | 久久精品www人人爽人人 | 六月激情久久 | 成人啊 v| 九九热在线免费观看 | 免费色av | 久久不色| 最新av网址在线观看 | av电影一区二区 | 亚洲 欧美 综合 在线 精品 | 久久福利剧场 | av在线播放一区二区三区 | 亚洲高清av | 久久久国产精品麻豆 | 久久综合九色综合久99 | 成人av高清在线 | 黄色软件视频大全免费下载 | 日韩,精品电影 | 成人在线观看免费视频 | 日韩精品最新在线观看 | 国产精品欧美久久久久天天影视 | 最近中文字幕在线中文高清版 | 免费看高清毛片 | 成人av片免费看 | 国产精品淫片 | 亚洲网站在线 | 五月婷色 | 免费看黄视频 | 国产明星视频三级a三级点| www五月天| 国精产品永久999 | 伊人日日干 | 99在线观看免费视频精品观看 | 四虎国产永久在线精品 | 久久五月婷婷丁香社区 | 91丨九色丨丝袜 | 亚洲成人频道 | 国产99久久久久 | 黄色av在| 日本黄色大片免费看 | 天天干,天天插 | 日韩精品高清不卡 | 国产精品免费看 | 高清av免费看 | 久久精品99久久 | 亚洲理论在线 | 美女视频a美女大全免费下载蜜臀 | 999视频在线播放 | 香蕉手机在线 | h网站免费在线观看 | 操操综合网 | 成人av手机在线 | 成人羞羞免费 | 久久国产经典 | 久艹在线播放 | 久久专区| 国产精品99爱| 国产免费黄视频在线观看 | 久久视频精品 | 97视频亚洲| 亚洲欧美在线综合 | 国内精品视频在线 | 二区视频在线 | 五月天免费网站 | 一区二区三区在线播放 | 亚洲欧美国内爽妇网 | a电影在线观看 | 中文字幕第| 伊人五月天综合 | 久久婷婷激情 | 亚洲精品在线免费 | 六月婷婷久香在线视频 | 日韩视频欧美视频 | 美女网站久久 | 欧美欧美 | 日本中文字幕电影在线免费观看 | 亚洲激情 欧美激情 | 日韩在线免费视频 | 人成在线免费视频 | 日韩av影视在线 | 国产精品色婷婷视频 | 久草久草在线观看 | 久久亚洲在线 | 成人av网站在线播放 | 日韩国产精品久久久久久亚洲 | 久草在线视频首页 | 欧美成人tv| 久久亚洲欧美日韩精品专区 | 国产黄色大片 | 免费亚洲一区二区 | 国产色啪 | 亚洲精品乱码白浆高清久久久久久 | 日本三级全黄少妇三2023 | 五月婷婷丁香网 | 国产精在线 | 免费在线观看av不卡 | 香蕉影视app | 久久夜夜爽 | 亚洲成a人片77777kkkk1在线观看 | 日韩三区在线观看 | 中文在线字幕免 | 91久久精品一区二区三区 | 日日干影院 | 免费看色的网站 | 国产高清在线一区 | 性色va| 91污在线观看 | 久久久久色| 日韩视| 婷婷国产一区二区三区 | 天天草天天插 | 亚洲视屏 | 天堂入口网站 | 欧美一区二区在线免费观看 | 久久电影国产免费久久电影 | 亚洲视频电影在线 | 国产高清一 | 久久久久久影视 | 国产偷在线| 91在线视频免费播放 | 国产精品永久在线观看 | 亚洲免费在线观看视频 | 欧美调教网站 | 国内精品久久久久久久影视麻豆 | 五月天综合网站 | 精品国产一区二区久久 | 精品视频不卡 | 国产日韩精品一区二区在线观看播放 | 成人亚洲精品国产www | 久久精品xxx | 欧美a级在线播放 | 久久av高清| 成人黄色大片在线观看 | www.夜夜操 | www.色婷婷| 欧美日本国产在线观看 | 午夜影视一区 | 五月天婷婷在线视频 | 99久久久精品 | 日韩视频在线播放 | 中文区中文字幕免费看 | 欧美成人一区二区 | www.夜色.com| 麻豆成人在线观看 | 国产成人在线免费观看 | 久久综合九色综合97婷婷女人 | 亚洲国产精品一区二区久久hs | 久久国产精彩视频 | 91精品国产综合久久福利 | 国产精品美女免费看 | 麻豆国产精品va在线观看不卡 | www.xxxx变态.com| 亚洲精品一区二区久 | 五月天中文字幕mv在线 | 免费h漫在线观看 | www.狠狠插.com | 超碰av免费| 91免费国产在线观看 | 91女子私密保健养生少妇 | 91在线观看高清 | 最近中文字幕mv | 麻豆91在线 | 国产精品麻豆99久久久久久 | 日韩欧美一区二区在线 | 99久久www免费 | wwwwwww黄| 婷婷国产在线 | 四月婷婷在线观看 | 人人涩 | 婷婷伊人综合 | 日本韩国中文字幕 | 亚洲区二区| 亚洲精品午夜视频 | 免费成人av | 最新日韩在线观看 | 午夜视频亚洲 | 日韩高清一二三区 | 久久欧美精品 | 国产亚洲精品久久久久久 | 久久任你操 | 中文字幕超清在线免费 | 精品国产亚洲在线 | 精品国产色 | 天天干天天玩天天操 | 天天躁天天躁天天躁婷 | 成人h视频 | 久久久午夜精品福利内容 | 国产免费高清 | 欧美激情在线网站 | 日韩欧美综合 | 亚洲精品91天天久久人人 | 黄色免费av| 国产婷婷精品 | 日日干夜夜操视频 | 精品欧美乱码久久久久久 | 国产伦精品一区二区三区四区视频 | 在线影院 国内精品 | 91精品第一页| 女人高潮特级毛片 | 日韩精品一区电影 | 免费看久久久 | 亚洲天天摸日日摸天天欢 | 日韩在线免费视频观看 | 精品一区精品二区高清 | 国产午夜精品一区二区三区四区 | 亚洲五月综合 | 日韩精品免费在线观看 | 免费观看的av网站 | 在线日本看片免费人成视久网 | 免费国产一区二区视频 | 婷婷丁香激情 | 中文字幕人成人 | 欧美日韩大片在线观看 | 国产精国产精品 | 久久免费试看 | 婷婷五情天综123 | 欧美性色综合 | 国产系列精品av | 在线观看日本高清mv视频 | www.伊人色.com | 久久久精品 一区二区三区 国产99视频在线观看 | 久久久精品高清 | 日韩免费一级电影 | 欧美亚洲精品一区 | 亚洲精品视频免费在线 | 中文字幕免 | 91在线精品一区二区 | 日韩四虎| av日韩在线网站 | 国产美腿白丝袜足在线av | 99免费在线 | 亚洲理论电影 | 国产精品原创av片国产免费 | 久久久久久久久久网站 | 国产精品a久久久久 | 夜夜摸夜夜爽 | www.狠狠色 | 欧美在线观看视频免费 | 欧美性直播 | 国产精品久久久久三级 | 亚洲黄色小说网址 | 在线中文字幕观看 | 视频在线99re| 亚洲精选视频免费看 | 国产高清绿奴videos | 蜜臀久久99精品久久久酒店新书 | 亚洲国产精彩中文乱码av | 亚洲欧美在线综合 | 亚洲欧美国产精品va在线观看 | 亚洲在线 | 国偷自产视频一区二区久 | 国产在线a视频 | 一区二区三区免费 | 精品国产成人在线影院 | 日韩特级片 | av一区二区三区在线观看 | 久草视频观看 | 在线免费色 | 91香蕉国产 | 91精品影视 | 亚洲欧洲中文日韩久久av乱码 | 国产精品岛国久久久久久久久红粉 | 成人av动漫在线 | 亚洲涩涩一区 | 狠狠色丁香婷婷综合基地 | 五月婷婷狠狠 | 精品久久久久久一区二区里番 | 在线免费观看麻豆视频 | 亚洲精品国产精品乱码在线观看 | 中文字幕在线视频一区二区 | 欧美国产日韩一区二区三区 | www黄色 | 亚洲激情久久 | 日本黄色免费电影网站 | 色五婷婷 | 亚洲成人精品 | 欧美精品久久久 | 天天爱综合 | 国产福利在线 | 超碰97免费观看 | 国产在线久草 | 操一草| 欧美久久久久久久 | 欧美韩日在线 | 六月丁香六月婷婷 | 免费高清无人区完整版 | 欧美性受极品xxxx喷水 | 天天干天天想 | 97色在线观看| 五月婷av| 天天操天天干天天 | 射综合网 | 91在线日韩 | 色综合 久久精品 | 久久高清免费观看 | 午夜精品一区二区三区视频免费看 | 欧美污在线观看 | 人人澡人摸人人添学生av | 91av视频在线观看 | 欧美大片aaa| 国产成人精品日本亚洲999 | 欧美最爽乱淫视频播放 | 99精品国产一区二区三区麻豆 | 亚洲免费在线观看视频 | 久草在线视频看看 | 人人操日日干 | 在线观看韩日电影免费 | 天天躁日日躁狠狠躁 | 在线成人高清电影 | 欧美吞精| 色视频成人在线观看免 | 成人中文字幕av | 久草网在线视频 | 亚洲精品免费观看视频 | 欧美日韩国产在线观看 | 国产精品乱码久久久久 | 欧美综合久久 | 九九在线国产视频 | 国产成人99久久亚洲综合精品 | 国产一区欧美一区 | 天天色图 | 国产一区久久久 | 亚洲视频,欧洲视频 | www.com操| 在线你懂 | 亚州精品天堂中文字幕 | 日韩av免费在线电影 | 国产免费又粗又猛又爽 | 免费网址在线播放 | 一区二区三区四区在线免费观看 | 亚洲一区 影院 | 四虎国产精品成人免费4hu | 超碰人人做 | 国产精品 中文在线 | 中文永久免费观看 | 久久视频精品在线观看 | 日韩高清在线一区 | 国产精品乱码久久久久久1区2区 | 91在线国内视频 | 国产在线专区 | 97人人模人人爽人人少妇 | 天天综合狠狠精品 | 亚洲最新视频在线 | 日韩免费av在线 | 曰韩精品 | 一区二区三区日韩视频在线观看 | 96视频免费在线观看 | 很黄很黄的网站免费的 | 日韩免费高清在线 | 亚洲一区久久久 | 国产精品com | 91精品国产麻豆国产自产影视 | 综合色中色 | 久久久久久久久久久电影 | 日韩精品播放 | 日韩乱码在线 | 午夜av片| 国产明星视频三级a三级点| 久久成人国产精品一区二区 | 亚洲精品乱码久久久久久高潮 | 96亚洲精品久久久蜜桃 | 亚洲精选在线观看 | 欧美日韩一级久久久久久免费看 | 国产va精品免费观看 | 中文字幕在线观看免费高清电影 | 免费v片 | 日黄网站 | 久久久一本精品99久久精品 | 成人久久久久久久久久 | 中文av网站 | 欧美色图p | 国产亚洲精品久久 | 国产香蕉97碰碰久久人人 | 91大神电影 | 九九免费视频 | 国产999精品视频 | 精品成人国产 | www日日夜夜| 99精品久久久久久久 | 97久久久免费福利网址 | 99久久久国产免费 | 国产精品久久久久aaaa | 狠狠躁夜夜av | 免费在线观看午夜视频 | 欧美日韩视频网站 | 亚洲免费在线观看视频 | aⅴ视频在线 | 97人人人| 免费看搞黄视频网站 | 国产精品不卡在线播放 | 99精品国产一区二区三区不卡 | 中文字幕国产亚洲 | 午夜av网站| 三级a毛片 | 国产在线观看a | 国产精品久久久亚洲 | 久久人人爽爽 | 亚洲欧洲一区二区在线观看 | 日本aaaa级毛片在线看 | 亚洲视频一级 | 国产一级片直播 | 狠狠色狠狠色综合日日小说 | 国产日韩欧美视频在线观看 | 亚洲黄电影 | 日韩毛片在线免费观看 | 欧美在线一二 | av高清不卡 | www.成人精品| 日韩无在线 | 亚洲国产天堂av | 91日韩精品 | 国产精品福利无圣光在线一区 | 国产一级做a | 国产日韩欧美在线看 | 香蕉久久久久久久 | 中文字幕人成乱码在线观看 | 在线观看国产一区二区 | 日日干 天天干 | 99精品视频在线播放免费 | 日本在线观看一区二区 | 国产在线观看a | 国产91对白在线播 | 欧美成人精品在线 | 亚洲人在线7777777精品 | 免费观看一级一片 | 国产96av | 免费一级日韩欧美性大片 | 久久国产成人午夜av影院潦草 | 欧洲亚洲精品 | 天天久久夜夜 | 一级一片免费视频 | 午夜久久影院 | 伊人黄| 五月婷婷电影网 | 人人爱在线视频 | 97成人在线| 欧美激情h| 亚洲一二三在线 | 美国av片在线观看 | 91在线视频观看免费 | 亚洲综合色丁香婷婷六月图片 | a视频在线看 | av在线免费观看黄 | 久久久www成人免费毛片 | 日韩av在线免费播放 | 中文字幕国产在线 | bbw av| 亚洲精品1234区 | 韩日电影在线 | 日韩视频精品在线 | 国产精品粉嫩 | 日韩精品中文字幕久久臀 | av黄色在线观看 | 国产成年免费视频 | 亚洲在线网址 | 亚洲欧美日韩精品久久久 | 欧美日韩一区二区三区在线观看视频 | 久久少妇免费视频 | 精品1区2区3区 | 天天干天天操天天搞 | 国产黄免费在线观看 | 欧美一区二区三区激情视频 | 黄色特级一级片 | 99久久精品费精品 | 中国一级片在线观看 | 久久久国产精品一区二区中文 | 免费看的黄色录像 | 亚洲另类视频在线 | 91精品视频一区 | 99精品国产aⅴ | 国产精品一区二区美女视频免费看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 91大片网站 | 国产日韩精品一区二区三区在线 | 93久久精品日日躁夜夜躁欧美 | 久久深爱网 | 日本中文在线播放 | 高清不卡毛片 | 91看片在线播放 | 91免费在线视频 | 天天干天天色2020 | 91在线中字 | 久久狠狠干 | 国产精品视频免费观看 | 久久精品毛片基地 | 久久精品视频在线播放 | 韩国av一区二区 | av在线播放亚洲 | 久久超碰97| 在线精品播放 | 亚洲少妇激情 | 国产精品一区二区免费 | 九九热在线视频免费观看 | 特级西西444www高清大视频 | 亚洲五月综合 | 日日日视频 | 91久久影院 | 亚洲精品小视频 | 激情五月在线视频 | 国产精品涩涩屋www在线观看 | 久99视频| 日本一区二区三区视频在线播放 | 少妇bbw撒尿 | 91久久国产露脸精品国产闺蜜 | 精品伊人久久久 | 综合网成人 | 日韩综合一区二区三区 | 欧美在线视频一区二区 | 人人爽久久久噜噜噜电影 | 久草在线看片 | 欧美一区二区三区激情视频 | 亚洲视频免费在线 | 91热爆视频| 日韩欧美一区二区三区视频 | 五月天电影免费在线观看一区 | av网站大全免费 | 免费在线观看毛片网站 | 午夜国产一区二区三区四区 | 国内精自线一二区永久 | av免费观看高清 | 高清久久久 | a国产精品 | 日韩亚洲国产精品 | 国产区高清在线 | 成人午夜毛片 | 久久精品在线 | 五月婷婷色综合 | 亚洲精品xxxx | 亚洲精品乱码久久久久久写真 | 天天干天天插 | 999抗病毒口服液 | 精品国产一区二区三区四区在线观看 | 国产高清成人 | 热久精品| 国产伦精品一区二区三区… | 久久看毛片 | www.亚洲精品在线 | 日本黄色免费看 | 91精品国自产在线观看欧美 | av在线8| 在线a人片免费观看视频 | 欧美日韩性生活 | 国产精品igao视频网网址 | 欧美美女激情18p | 亚洲精品88欧美一区二区 | 国产精品一区二区三区观看 | 国产一二区视频 | 在线观看黄色av | 大型av综合网站 | 国产香蕉在线 | 亚洲精品视频网 | 久久久免费观看视频 | 国产99久久久精品 | 色婷婷成人| 久久精品人人做人人综合老师 | 久久免费精品 | 91色国产在线 | 在线观看日韩精品视频 | 在线观看免费色 | 久色 网| 精品久久久久久亚洲综合网站 | 伊人中文在线 | 午夜精品电影 | 亚洲成人黄色在线观看 | 久草国产在线 | 麻豆国产在线视频 | 人人狠| 久草视频2 | 免费福利片2019潦草影视午夜 | 在线观看mv的中文字幕网站 | 婷婷久久一区二区三区 | 91九色视频在线观看 | 国产精品99久久久久人中文网介绍 | 日韩国产精品久久 | 亚洲黄色激情小说 | 国产在线视频一区二区三区 | 久草在线资源视频 | 色插综合 | 亚洲视频在线看 | 欧美精品亚州精品 | 日本中文字幕一二区观 | 婷婷色吧| 337p日本欧洲亚洲大胆裸体艺术 | 97天天干 | 免费成人在线观看视频 | 日本公妇在线观看高清 | 成人在线观看网址 | 黄色av免费电影 | 久久久在线免费观看 | 97色婷婷成人综合在线观看 | 婷婷综合五月 | 999久久久免费精品国产 | 久久久99国产精品免费 | 在线免费观看视频你懂的 | 婷色在线 | 欧美精品久久久久久久久久 | 中文字幕在线看人 | 香蕉影视在线观看 | 日韩特级毛片 | 国产伦精品一区二区三区照片91 | 久久精品国产一区二区电影 | 97超级碰碰碰视频在线观看 | 92av视频 | 有码中文字幕在线观看 | 国产精品麻豆免费版 | 中文在线免费视频 | 中文字幕在线观看第一页 | 一区二区三区日韩在线观看 | 亚州人成在线播放 | 国产精品18久久久久久vr | 美女视频黄免费的久久 | 国产精品原创在线 | 九色在线 | 亚洲精品国产精品久久99热 | 色天天天| 韩日三级在线 | 成人香蕉视频 | 在线观看网站av | 久久久久综合网 | 美女福利视频一区二区 | 天天射天天操天天干 | 久久久国产电影 | 国产精品久久久久久吹潮天美传媒 | 麻豆视频免费入口 | 97精品视频在线播放 | 欧美性爽爽 | 国产91精品高清一区二区三区 | 在线久草视频 | jizz欧美性9 国产一区高清在线观看 | 日韩.com | 欧洲精品码一区二区三区免费看 | 亚洲精品动漫在线 | 国产69精品久久99不卡的观看体验 | 精品视频在线看 | 一区二区伦理 | 成人国产精品电影 | 高清一区二区 | 1000部18岁以下禁看视频 | 婷婷射五月| 999在线视频 | 日本三级香港三级人妇99 | 91在线视频网址 | 麻豆精品传媒视频 | 亚洲三级精品 | 国产四虎在线 | 免费av电影网站 | 97人人澡人人添人人爽超碰 | 亚洲一区二区三区miaa149 | 国产一级电影网 | 一区二区国产精品 | 色国产精品一区在线观看 | 国产精品午夜在线 | 欧美一区二区免费在线观看 | 国产女人免费看a级丨片 | av免费线看 | 亚洲国产精品电影 | 精品久久综合 | 久草在线在线视频 | 久二影院 | 最近更新好看的中文字幕 | 丁香综合av | 日日夜夜网 | 五月开心激情网 | 久久久久久久久电影 | 久久人人爽人人爽人人片av免费 | 高清不卡免费视频 | 亚洲午夜在线视频 | 在线激情网 | 在线精品在线 | 国产精品久久久久影视 | 在线亚洲人成电影网站色www | 国产黄色片一级 | 丰满少妇久久久 | 国产色婷婷精品综合在线手机播放 | 欧美国产91 | 国产网红在线观看 | 欧美成人久久 | 蜜桃麻豆www久久囤产精品 | 欧美 日韩精品 | 亚洲专区中文字幕 | 色视频网站在线观看一=区 a视频免费在线观看 | 成人a视频在线观看 | 亚洲天堂激情 | 国产一区欧美在线 | 久久久久网址 | 久久精品99久久久久久2456 | 日韩欧美高清一区二区三区 | 国产青草视频在线观看 | 久久天天躁狠狠躁夜夜不卡公司 | 97在线视 | 天天综合网天天 | 日韩动漫免费观看高清完整版在线观看 | 亚洲精品黄色在线观看 | 综合国产在线观看 | 免费日韩视频 | 在线观看av国产 | 国产精品久久久99 | 国产1区2区 | 久久久影视 | 免费试看一区 | 久久黄色小说视频 | 色.com| 亚洲理论片在线观看 | 国产视频精品久久 | 狠狠插狠狠干 | 欧美日本一二三 | 在线va网站 | 婷婷丁香九月 | 五月婷婷开心 | 中文字幕亚洲国产 | 天天色天天色 | 99精品视频观看 | 久久免费美女视频 | 久久草草热国产精品直播 | 国产一二三区在线观看 | 久久亚洲私人国产精品va | 911香蕉 | 麻豆精品视频在线观看免费 | 6699私人影院| 一区二区欧美在线观看 | 字幕网资源站中文字幕 | av在线观 | 精品国产观看 | 国产精品高清一区二区三区 | 99在线免费观看视频 | 九九热只有这里有精品 | 精品国产精品久久 | 99精品欧美一区二区三区黑人哦 | 成人精品一区二区三区电影免费 | 精品999久久久| 99精品在线直播 | 久久人人看 | 日三级在线 | 成人久久电影 | 精品国产一区二区三区日日嗨 | 久久成人精品电影 | 亚洲第一久久久 | 国产亚洲成av片在线观看 | 亚洲一级黄色大片 | 99av在线视频| 人人添人人 | 亚洲一级片免费观看 | 日日夜夜网| 永久免费视频国产 | 一区二区不卡 | 五月天久久久久 | 久久综合色一综合色88 | 精产嫩模国品一二三区 | 久久精品国产一区二区电影 | 欧美日韩一区二区三区在线观看视频 | 91热视频| 日韩久久激情 | 五月婷婷色丁香 | 日日爽天天 | 香蕉视频在线播放 | 亚洲黄色影院 | 一区二区三区免费在线观看 | 中文字幕av电影下载 | 欧美在线视频一区二区 | 色播激情五月 | 色激情在线 | 亚洲精品色 | 日韩欧美精品在线 | 五月天天色 | 97在线观看免费观看 | 在线播放一区二区三区 | 中文字幕欧美激情 | 国产中文字幕网 | 96av麻豆蜜桃一区二区 | 婷婷激情av | 精品亚洲欧美无人区乱码 | 日韩大片在线免费观看 | 久久国产精品精品国产色婷婷 | а中文在线天堂 | 国产精品亚洲片在线播放 | 亚洲动漫在线观看 | 国产在线小视频 | 亚洲mv大片欧洲mv大片免费 | 国产一区二区精品 | 亚洲国产精品成人综合 | 国产精品久久久久久久午夜片 | 久久久在线 | 麻豆免费在线视频 | 九草在线观看 | 中国一级片在线播放 | 在线国产欧美 |