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

React Native入門項目與解析

移動開發 iOS
React Native是最近非常火的一個話題,介紹如何利用React Native進行開發的文章和書籍多如牛毛,但面向入門水平并介紹它工作原理的文章卻寥寥無幾。下面給大家詳細介紹一下。

 通過React Native 環境搭建和創建項目(Mac)可以成功創建一個新項目,即直接利用以下語句創建:

  1. //命令行創建項目: 
  2.  
  3. react-native init AwesomeProject 

創建成功后,剛入門的我們主要關注兩個文件:

1)iOS項目目錄下的AppDelegate.m

為將iOS項目連接js文件的入口,以及相關初始化操作。

2)根目錄下的index.ios.js

為iOS對應的js入口文件。

一、 解析iOS項目中的AppDelegate.m

1. AppDelegate.m 代碼如下:

  1. #import "AppDelegate.h" 
  2.  
  3. // React Native相關頭文件 
  4.  
  5. #import "RCTBundleURLProvider.h" 
  6.  
  7. #import "RCTRootView.h" 
  8.  
  9. @implementation AppDelegate 
  10.  
  11. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  12.  
  13.  
  14. NSURL *jsCodeLocation; 
  15.  
  16. /* 
  17.  
  18. 當應用開始運行的時候,RCTRootView將會從以下的URL中加載應用:(本地調試的時候是直接在本地服務器中的index.ios加載,發布時設置有所不同) 
  19.  
  20. 重新調用了你在運行這個App時打開的終端窗口,它開啟了一個 packager 和 server 來處理上面的請求。 
  21.  
  22. 在 Safari 中打開那個 URL;你將會看到這個 App 的 JavaScript 代碼 
  23.  
  24. */ 
  25.  
  26. [[RCTBundleURLProvider sharedSettings] setDefaults]; 
  27.  
  28. jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; 
  29.  
  30. // RCTRootView是一個UIView容器,承載著React Native應用。同時它也提供了一個聯通原生端和被托管端的接口。 
  31.  
  32. RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
  33.  
  34. moduleName:@"AwesomeProject" 
  35.  
  36. initialProperties:nil 
  37.  
  38. launchOptions:launchOptions]; 
  39.  
  40. rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; 
  41.  
  42. self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
  43.  
  44. UIViewController *rootViewController = [UIViewController new]; 
  45.  
  46. rootViewController.view = rootView; 
  47.  
  48. self.window.rootViewController = rootViewController; 
  49.  
  50. [self.window makeKeyAndVisible]; 
  51.  
  52. return YES; 
  53.  
  54.  
  55. @end 

2. RCTRootView

RCTRootView將React Natvie視圖封裝到原生組件中。(用戶能看到的一切內容都來源于這個RootView,所有的初始化工作也都在這個方法內完成。)

解析:

通過RCTRootView的初始化函數你可以將任意屬性傳遞給React Native應用。

參數initialProperties必須是NSDictionary的一個實例。

這一字典參數會在內部被轉化為一個可供JS組件調用的JSON對象。

  1. NSArray *imageList = @[@"http://foo.com/bar1.png"
  2.  
  3. @"http://foo.com/bar2.png"]; 
  4.  
  5. NSDictionary *propsDict = @{@"images" : imageList}; 
  6.  
  7. RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
  8.  
  9. moduleName:@"AwesomeProject" 
  10.  
  11. initialProperties: propsDict 
  12.  
  13. launchOptions:launchOptions]; 

在js文件中,則是通過this.props.images調用上面定義的參數。

this為AppRegistry.registerComponent注冊的組件(下面會講到)

RCTRootView同樣提供了一個可讀寫的屬性appProperties。在appProperties設置之后,React Native應用將會根據新的屬性重新渲染。當然,只有在新屬性和之前的屬性有區別時更新才會被觸發。

(注意:1.可以隨時更新屬性,但是更新必須在主線程中進行,讀取則可以在任何線程中進行。2.更新屬性時并不能做到只更新一部分屬性)

  1. NSArray *imageList = @[@"http://foo.com/bar3.png"
  2.  
  3. @"http://foo.com/bar4.png"]; 
  4.  
  5. rootView.appProperties = @{@"images" : imageList}; 

二、解析js入口文件(index.ios.js)

1. index.ios.js 代碼如下:

  1. 'use strict'; // 全局進入嚴格模式(目前發現不用也行) 
  2.  
  3. /**< 
  4.  
  5. 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為; 
  6.  
  7. 消除代碼運行的一些不安全之處,保證代碼運行的安全; 
  8.  
  9. 提高編譯器效率,增加運行速度; 
  10.  
  11. 為未來新版本的Javascript做好鋪墊。 
  12.  
  13. */ 
  14.  
  15. //導入一些必要的模塊 
  16.  
  17. //React Native內置的組件可以直接通過import { xxx } from 'react-native' 進行導入,當然也可以自定義組件。 
  18.  
  19. import React, { Component } from 'react'
  20.  
  21. import { 
  22.  
  23. AppRegistry, 
  24.  
  25. StyleSheet, 
  26.  
  27. Text, 
  28.  
  29. View
  30.  
  31. TouchableOpacity 
  32.  
  33. from 'react-native'
  34.  
  35. //類,這是默認的載入類,繼承自Component,Component類(組件)似于Android和iOS中的View 
  36.  
  37. //這里為創建一個組件 
  38.  
  39. class AwesomeProject extends Component { 
  40.  
  41. //構造器 ,每個組件都擁有自己的屬性(props)和狀態(state) 
  42.  
  43. //調用this.setState更改狀態text或者isTouchDown時,組件會觸發render函數進行渲染更新 
  44.  
  45. constructor(props) { 
  46.  
  47. super(props); 
  48.  
  49. this.state = { 
  50.  
  51. text:'Welcome to React Native!'
  52.  
  53. isTouchDown:false 
  54.  
  55. }; 
  56.  
  57.  
  58. //在最初的渲染之前調用一次,可在里面進行預處理操作 
  59.  
  60. //在React中,設置this.state會導致重新渲染,但是componentWillMount設置this.state并不會對導致render調用多次 
  61.  
  62. //之后會對component的生命周期進一步解釋 
  63.  
  64. componentWillMount() { 
  65.  
  66.  
  67. //渲染函數,用來渲染實際的Component可視部分 
  68.  
  69. render() { 
  70.  
  71. //var定義變量,根據狀態值改變對應值 
  72.  
  73. var welcomeText = this.state.text; 
  74.  
  75. var bgcolor; 
  76.  
  77. if (this.state.isTouchDown) { 
  78.  
  79. bgcolor = '#c5c5ab'
  80.  
  81. else { 
  82.  
  83. bgcolor = '#F5FCFF'
  84.  
  85.  
  86. console.log('testtststststts'); 
  87.  
  88. //返回的即界面顯示內容 
  89.  
  90. return ( 
  91.  
  92. <View style={[styles.container, {backgroundColor: bgcolor}]}> 
  93.  
  94. <Text style={styles.welcome}> 
  95.  
  96. {welcomeText} 
  97.  
  98. </Text> 
  99.  
  100. <Text style={styles.instructions}> 
  101.  
  102. To get started, edit index.android.js 
  103.  
  104. </Text> 
  105.  
  106. <Text style={styles.instructions}> 
  107.  
  108. Shake or press menu button for dev menu 
  109.  
  110. </Text> 
  111.  
  112. <TouchableOpacity onPress={this.touchDown.bind(this)}> 
  113.  
  114. <Text style={[styles.instructions, {backgroundColor: 'green'}]}> 
  115.  
  116. test touch Me 
  117.  
  118. </Text> 
  119.  
  120. </TouchableOpacity> 
  121.  
  122. </View
  123.  
  124. ); 
  125.  
  126.  
  127. // 自定義函數 
  128.  
  129. touchDown() { 
  130.  
  131. // console.log 控制臺打印,可打印值,多用于調試 
  132.  
  133. console.log('>>', this.isTouchDown); 
  134.  
  135. if (!this.state.isTouchDown) { 
  136.  
  137. this.setState({ 
  138.  
  139. text:'Test Touch Down Success'
  140.  
  141. isTouchDown:true 
  142.  
  143. }); 
  144.  
  145. else { 
  146.  
  147. this.setState({ 
  148.  
  149. text:'Test Touch Down Again Success'
  150.  
  151. isTouchDown:false 
  152.  
  153. }); 
  154.  
  155.  
  156.  
  157.  
  158. //定義樣式 
  159.  
  160. const styles = StyleSheet.create({ 
  161.  
  162. container: { 
  163.  
  164. flex: 1, 
  165.  
  166. justifyContent: 'center'
  167.  
  168. alignItems: 'center'
  169.  
  170. backgroundColor: '#F5FCFF'
  171.  
  172. }, 
  173.  
  174. welcome: { 
  175.  
  176. fontSize: 20, 
  177.  
  178. textAlign: 'center'
  179.  
  180. margin: 10, 
  181.  
  182. }, 
  183.  
  184. instructions: { 
  185.  
  186. textAlign: 'center'
  187.  
  188. color: '#333333'
  189.  
  190. marginBottom: 5, 
  191.  
  192. }, 
  193.  
  194. }); 
  195.  
  196. //AppRegistry 定義了App的入口,并提供了根組件。 
  197.  
  198. //***個'AwesomeProject'要與AppDelegate里注冊的moduleName一致 
  199.  
  200. //第二個AwesomeProject則是入口組件,即上面定義的Component類 
  201.  
  202. AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject); 

2. 運行效果:

簡單運行效果.png

3. 基礎概念解釋

1)組件

代碼中的 Text, View, TouchableOpacity均為基礎組件。AwesomeProject則是自己創建的組件,也作為項目的入口組件。

在React Native項目中,所有展示的界面,都可以看做是一個組件(Component)只是功能和邏輯上的復雜程度不同。每一個是許許多多小的組件拼成的,每個小的組件也有自己對應的邏輯。

2)組件的狀態與屬性

組件本質上是狀態機,輸入確定,輸出一定確定。組件把狀態與結果一一對應起來,組件中有state與prop(狀態與屬性)。

屬性(props)是標簽里面的屬性, 組件之前通過標簽的屬性來傳遞數據,由父組件傳遞給子組件(單向的屬性傳遞)。

如果component的某些狀態由外部所決定,并且會影響到component的render,那么這些狀態就應該用props表示。

例如:一個下拉菜單的component,有哪些菜單項,是由這個component的使用者和使用場景決定的,那么“菜單項”這個狀態,就應該用props表示,并且由外部傳入。

狀態(state)是子組中的狀態,內部的事件方法或者生命周期方法都可以調用this.setState來變更,當狀態發生變化的同時,組件也會觸發render函數進行渲染更新。

如果component的某些狀態需要被改變,并且會影響到component的render,那么這些狀態就應該用state表示。

例如:一個購物車的component,會根據用戶在購物車中添加的產品和產品數量,顯示不同的價格,那么“總價”這個狀態,就應該用state表示。

責任編輯:武曉燕 來源: 簡書
相關推薦

2016-08-12 08:49:46

React NativFacebookNative

2024-08-29 08:31:16

2023-03-07 16:12:32

2018-06-13 16:38:33

React Nativ組件Android

2016-08-12 13:22:01

React Nativ環境搭建創建項目

2016-10-13 19:01:59

React NativUbuntu

2015-07-21 17:23:32

用友IUAP

2021-04-17 18:19:23

FlutterReact Nativ開發

2019-08-29 09:00:55

開發Flutter框架

2024-07-08 00:00:07

2023-06-24 17:09:06

React前端

2016-08-12 13:55:06

2015-09-22 09:50:36

FacebookAndroid

2017-09-11 14:35:34

編輯器開發環境React

2021-03-02 09:00:00

開源框架技術

2017-03-09 13:29:04

ReactNative JSPatch

2017-03-21 21:37:06

組件UI測試架構

2024-02-20 01:53:01

ReactFlutter開發

2024-01-19 09:03:06

ReactTypeScripFlexbox

2025-01-24 08:34:28

CSSWebAndroid
點贊
收藏

51CTO技術棧公眾號

日本丰满少妇一区二区三区| 粉嫩av亚洲一区二区图片| 亚洲男人天堂九九视频| wwww.国产| 手机av免费在线| av资源站一区| 国产一区在线播放| 日韩aaaaaa| 日本高清免费电影一区| 精品剧情在线观看| 搡女人真爽免费午夜网站| 神马午夜伦理不卡| 国产欧美一区二区精品仙草咪| 147欧美人体大胆444| youjizz在线视频| 欧美一区亚洲| 这里只有精品丝袜| 亚洲高清无码久久| 免费视频观看成人| 色综合夜色一区| 成人午夜视频免费观看| 91成人高清| 久久综合99re88久久爱| av一区二区三区四区电影| 在线免费一区二区| 亚洲深夜影院| 欧美高清视频在线播放| 青青青视频在线免费观看| 久久91在线| 日韩女优视频免费观看| 国产成人在线综合| 欧美黑人粗大| 午夜精品久久久久久| 女同性恋一区二区| 亚洲欧美视频一区二区| 久久综合久久综合久久综合| 国产另类自拍| 免费看日韩av| 国产91对白在线观看九色| 成人黄色在线免费| 亚洲综合网av| 蜜桃av一区二区| 日韩美女在线观看一区| 久久久国产高清| 亚洲黄色影片| 午夜精品久久久久久久99热| 精品亚洲乱码一区二区| 日韩精品一区二区三区免费观看| 亚洲夜晚福利在线观看| 大又大又粗又硬又爽少妇毛片| 久久久免费毛片| 亚洲国语精品自产拍在线观看| 人妻 丝袜美腿 中文字幕| 视频在线一区| 精品卡一卡二卡三卡四在线| 中文在线字幕观看| 岛国av一区| 亚洲风情亚aⅴ在线发布| 欧美大喷水吹潮合集在线观看| 视频成人永久免费视频| 欧美成人激情免费网| youjizz.com日本| 国产精品中文字幕制服诱惑| 亚洲国产天堂久久综合| jizz日本免费| 免费视频亚洲| 中文字幕av一区二区| 在线免费看av网站| 欧美激情第二页| 午夜精品福利电影| 亚洲成人av影片| 欧美aaaaa成人免费观看视频| 国产欧美一区二区| 国产精品毛片一区视频播| 国产精品一级黄| 国产原创精品| 国产经典自拍视频在线观看| 中文字幕中文字幕一区| 超碰超碰超碰超碰超碰| xxxx另类黑人| 91久久精品一区二区三| 免费av不卡在线| 国产精品极品国产中出| 亚洲欧美日韩天堂一区二区| 国产三级在线观看完整版| 91精品国产乱码久久久久久久| 欧美激情国产精品| 日韩久久中文字幕| 精品制服美女久久| 国内精品国语自产拍在线观看| 国产原创av在线| 亚洲日本护士毛茸茸| 少妇高潮毛片色欲ava片| 欧美亚洲韩国| 日韩精品一区二区三区视频在线观看| 99re久久精品国产| 日韩在线中文| 97视频国产在线| 国产又大又粗又长| 99re热这里只有精品免费视频| 亚洲一区二区不卡视频| 波多野在线观看| 欧美日本韩国一区二区三区视频 | 亚洲精品视频网上网址在线观看| 无码少妇一区二区| 欧美午夜不卡| 国产日产久久高清欧美一区| 熟妇高潮一区二区三区| 中文字幕一区二区在线播放 | 国产亚洲成av人片在线观看| 欧美在线一区二区三区| 色哟哟无码精品一区二区三区| av在线不卡顿| 91精品国产高清| 国产精品一级视频| 欧美韩国日本综合| 欧美二区在线视频| 在线精品视频一区| 久久影视电视剧免费网站清宫辞电视 | 午夜一级免费视频| 中日韩免视频上线全都免费| 欧美福利视频网站| 97人妻精品一区二区三区视频| 久久夜色精品国产噜噜av | 成人一级黄色大片| 久热国产精品| 久久综合伊人77777麻豆| 欧美黄色视屏| 91精品国产欧美日韩| 日韩精品电影一区二区三区| 欧美亚洲在线| 久久一区二区精品| 91九色美女在线视频| 日韩精品综合一本久道在线视频| 在线免费看av网站| 精品一区二区在线免费观看| 亚洲精品成人自拍| 欧美三级精品| 亚洲一级一级97网| 秋霞精品一区二区三区| 久久久久久一二三区| 国产无套内射久久久国产| 国产66精品| 国语自产偷拍精品视频偷| 亚洲精品无amm毛片| 一区二区三区精品| 中文字幕无人区二| 在线成人h网| 国产一区在线免费观看| 色是在线视频| 亚洲欧美在线x视频| 啦啦啦免费高清视频在线观看| 99久久伊人网影院| 男人天堂网视频| 亚洲综合福利| 国产精品一区电影| 日本蜜桃在线观看| 日韩网站在线看片你懂的| 欧美成人三级在线观看| 福利电影一区二区三区| 男人添女荫道口图片| 国产伦精品一区二区三区免费优势| 欧美黄网免费在线观看| 色欲av永久无码精品无码蜜桃| 狠狠色狠狠色综合日日五| 成年人免费观看视频网站 | 欧美日韩国产中文字幕| 国产黄色网址在线观看| 蜜臀av一级做a爰片久久| 一区精品视频| 日韩一区二区三区精品| 97国产精品视频人人做人人爱| 午夜在线视频免费| 在线视频观看一区| 国产午夜精品理论片| 国产成都精品91一区二区三| 日本网站免费在线观看| 成人短片线上看| 91在线视频九色| 92久久精品| 国产一区二区三区在线看| 亚洲天堂一二三| 亚洲综合免费观看高清在线观看| 亚洲精品女人久久久| 日韩成人av影视| av 日韩 人妻 黑人 综合 无码| 欧美一区 二区| 成人疯狂猛交xxx| 成人黄色动漫| 日韩视频第一页| 五月婷婷六月丁香综合| 欧美人伦禁忌dvd放荡欲情| 免费无遮挡无码永久在线观看视频 | 欧美视频一区在线| 久久久国产精华液| 国产欧美日韩一区二区三区在线观看| 999热精品视频| 久久久噜噜噜久久狠狠50岁| 国产又粗又爽又黄的视频| 色橹橹欧美在线观看视频高清| 国产欧美一区二区三区在线看| 92久久精品| 久久久精品一区二区三区| 无码精品视频一区二区三区 | 亚洲精品鲁一鲁一区二区三区 | 99久精品视频在线观看视频| 国产女主播一区二区| 亚洲v天堂v手机在线| 国产精品久久久久久久久影视| 影音先锋男人在线资源| 亚洲一区999| 日本激情一区二区| 欧美精品国产精品| 四虎成人在线观看| 亚洲五月六月丁香激情| av最新在线观看| 国产日韩欧美一区二区三区综合| 精品人妻人人做人人爽夜夜爽| 免费成人av在线| 无码精品国产一区二区三区免费| 欧美三级网页| 在线观看成人免费| 成人亚洲一区二区| 欧美xxxx黑人又粗又长精品| а√中文在线天堂精品| 91最新在线免费观看| 成人精品一区二区三区电影| 青青久久aⅴ北条麻妃| 91高清视频在线观看| 欧美高清videos高潮hd| 免费黄色电影在线观看| 中文字幕无线精品亚洲乱码一区 | 亚洲精品国产视频| 中文乱码字幕高清一区二区| 国产欧美一区视频| 亚洲黄色小说视频| 久久久高清一区二区三区| 91视频啊啊啊| 99国产精品国产精品久久| xfplay5566色资源网站| 成人免费看的视频| 91超薄肉色丝袜交足高跟凉鞋| 国产成人午夜精品影院观看视频 | 中文字幕制服诱惑| 欧美亚一区二区| 中文字幕日本视频| 欧美系列在线观看| 中文文字幕一区二区三三| 色就色 综合激情| 夜夜躁日日躁狠狠久久av| 在线看不卡av| 五月天中文字幕| 欧美精品精品一区| 国产高清免费在线观看| 欧美成人性战久久| 日本高清视频免费看| 亚洲精品影视在线观看| 久久精品a一级国产免视看成人 | 免费观看日韩av| 91欧美视频在线| 国产综合成人久久大片91| 亚洲一区二区三区四区精品| 国产高清一区日本| 国产+高潮+白浆+无码| 26uuu亚洲| 一级特黄曰皮片视频| 亚洲色图清纯唯美| 国产亚洲精品码| 色呦呦日韩精品| 在线观看黄色国产| 日韩一区二区三区在线视频| 成人小说亚洲一区二区三区| 亚洲精品久久久久| 国产剧情在线观看| 久久久精品一区二区三区| 91九色porn在线资源| 欧美最猛性xxxx| 亚洲精品无播放器在线播放| 国产精品二区三区四区| 伊人久久大香线蕉综合网站| 一区二区三区四区在线视频| 欧美日本国产| 国产美女无遮挡网站| 日韩激情视频在线观看| 日本网站在线看| 91视频国产资源| 日韩激情综合网| 欧美视频一区二区三区…| 亚洲天堂2021av| 亚洲国产另类 国产精品国产免费| 欧洲视频在线免费观看| 久久天天躁狠狠躁夜夜躁| 天堂中文在线播放| 91免费欧美精品| 竹菊久久久久久久| 青青视频免费在线| 石原莉奈在线亚洲三区| 国产又黄又嫩又滑又白| 久久精品无码一区二区三区| 可以直接看的黄色网址| 色乱码一区二区三区88| 亚洲av综合色区无码一二三区| 国产一区二区日韩精品欧美精品| 污网站在线免费看| 国产精品色视频| 日韩av影院| 肉大捧一出免费观看网站在线播放| 麻豆久久精品| 不许穿内裤随时挨c调教h苏绵 | 亚洲成人久久久| 日p在线观看| 国产成人在线亚洲欧美| 国产精品白浆| 欧美黄网在线观看| 麻豆精品新av中文字幕| 亚洲专区区免费| 亚洲自拍欧美精品| 99热精品在线播放| 视频直播国产精品| 中文日产幕无线码一区二区| 国产精品我不卡| 在线一区电影| 蜜桃福利午夜精品一区| 中文一区一区三区高中清不卡| 在线观看免费国产视频| 精品日本一线二线三线不卡| 高h视频在线观看| 国产久一一精品| 欧美综合久久| 亚洲黄色av网址| 国产亚洲精品中文字幕| 久久久久久久久久成人| 精品夜色国产国偷在线| free性m.freesex欧美| 99精品99久久久久久宅男| 91成人精品| 午夜xxxxx| 亚洲女同一区二区| 国产精品久久777777换脸| 日韩视频在线观看免费| 欧美系列精品| 制服诱惑一区| 精品一区二区免费看| 在线观看美女av| 欧美丰满一区二区免费视频 | 精品国产一区二区三区久久久樱花| 国产亚洲欧美在线视频| 91热门视频在线观看| 国产精品久免费的黄网站| 精品无人区乱码1区2区3区在线| 捆绑调教日本一区二区三区| 国精产品99永久一区一区| 国产欧美短视频| 久久av无码精品人妻系列试探| 91福利视频在线| 色的视频在线免费看| 成人看片人aa| 欧美激情成人在线| 亚洲天堂美女视频| 色伊人久久综合中文字幕| 国产1区2区3区在线| 国产精品一区电影| 欧美在线免费一级片| av2014天堂网| 在线中文字幕一区二区| 在线观看av黄网站永久| 91丝袜美腿美女视频网站| 国产一区二区三区四区三区四| 午夜男人的天堂| 91成人网在线| 国产精品久久麻豆| 狠狠干一区二区| 奇米888四色在线精品| 青青草成人免费| 亚洲精品999| jizzjizz少妇亚洲水多| 看一级黄色录像| 99精品欧美一区二区三区综合在线| 色av性av丰满av| 久久国产精品久久国产精品| 丁香综合av| 午夜宅男在线视频| 亚洲一区二区三区国产| 蜜桃视频在线免费| 亚洲综合av影视| 久久精品毛片| 青青草原在线免费观看| 精品丝袜一区二区三区| 91精品网站在线观看| 国产伦精品一区二区三区四区视频_ | 精品视频一区二区不卡| 久草在线视频福利| 视频在线观看成人| 国产99精品在线观看| 看黄色一级大片| 久久久久久美女| 99视频精品全国免费| 一级国产黄色片| 在线播放视频一区| 欧美一区久久久|