麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

React Native中導航組件react-navigation跨tab路由處理詳解

2019-11-19 15:01:29
字體:
來源:轉載
供稿:網友

前言

大家應該都有所體會,我們在一般應用都有跨tab跳轉的需求, 這就需要特別處理下路由,所以 下面是使用react-navigation作為路由組件的一種方式.

具體情境是: app分三大模塊Home主頁, Bill賬單和Me我的, 對應三個tab. 現在需求是 Home push HomeTwo, HomeTwo push BillTwo, BillTwo 返回到 Bill賬單首頁.

方法如下:

首先選擇路由結構, 選擇使用最外層是StackNavigator, 然后包含3個TabNavigator和其他組件.

const Components = { HomeTwo: { screen: HomeTwo, path:'app/HomeTwo' }, HomeThree: { screen: HomeThree, path:'app/HomeThree' }, BillTwo: { screen: BillTwo, path:'app/BillTwo' }, BillThree: { screen: BillThree, path:'app/BillThree' },}const Tabs = TabNavigator({ Home: {  screen: Home,  path:'app/home',  navigationOptions: {   tabBar: {   label: '首頁',   icon: ({tintColor}) => (<Image source={require('./images/home.png')} style={[{tintColor: tintColor},styles.icon]}/>),  },  } }, Bill: {  screen: Bill,  path:'app/bill',  navigationOptions: {  tabBar: {   label: '賬單',   icon: ({tintColor}) => (<Image source={require('./images/bill.png')} style={[{tintColor: tintColor},styles.icon]}/>),  },  } }, Me: {  screen: Me,  path:'app/me',  navigationOptions: {  tabBar: {   label: '我',   icon: ({tintColor}) => (<Image source={require('./images/me.png')} style={[{tintColor: tintColor},styles.icon]}/>),  },  } } }, { tabBarPosition: 'bottom',  swipeEnabled: false, animationEnabled: false,  lazyLoad: false,  backBehavior: 'none',  tabBarOptions: {  activeTintColor: '#ff8500',   inactiveTintColor: '#999',  showIcon: true,   indicatorStyle: {  height: 0   },  style: {  backgroundColor: '#fff',   },  labelStyle: {  fontSize: 10,   }, }, }); const Navs = StackNavigator({ Home: { screen: Tabs, path:'app/Home' }, Bill: { screen: Tabs, path:'app/Bill' }, Me: { screen: Tabs, path:'app/Me' }, ...Components }, { initialRouteName: 'Home',  navigationOptions: {   header: {   style: {   backgroundColor: '#fff'  },  titleStyle: {   color: 'green'  }  },  cardStack: {   gesturesEnabled: true  } }, mode: 'card',  headerMode: 'screen' });

在HomeTwo里使用react-navigation自帶的reset action就可以重置路由信息了:

// push BillTwothis.props.navigation.dispatch(resetAction);// 使用reset action重置路由const resetAction = NavigationActions.reset({ index: 1, // 注意不要越界 actions: [ // 棧里的路由信息會從 Home->HomeTwo 變成了 Bill->BillTwo NavigationActions.navigate({ routeName: 'Bill'}), NavigationActions.navigate({ routeName: 'BillTwo'}) ]});

從HomeTwo push 到 BillTwo頁面后, 點擊BillTwo的左上角導航按鈕返回就能返回到Bill賬單首頁了.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久色网站| 久草在线高清 | 在线91视频 | 久久久久久久久久久久久久久伊免 | 国产成人在线免费观看视频 | 手机免费看一级片 | 蜜桃精品视频 | 免费黄色大片网站 | 欧美一级成人一区二区三区 | 日本网站在线播放 | 亚洲网站一区 | 免费黄色大片网站 | 日日鲁一鲁视频 | 日日草夜夜操 | 久久精品成人免费国产片桃视频 | 国产色视频在线观看免费 | 久久精品99国产国产精 | 久久久久久亚洲国产精品 | 精品影视一区二区 | 日韩伦理电影免费观看 | 中文字幕在线观看日韩 | 亚洲欧美一区二区三区在线观看 | 毛片免费在线 | av免费在线观看国产 | 亚洲一区二区三区视频免费 | 日韩高清电影 | 免费特黄 | 精品国产一区二 | 九九热这里只有精品8 | 欧美人的天堂一区二区三区 | 黄色片网站在线免费观看 | 韩国三级日本三级香港三级黄 | 久久亚洲网 | 中国的免费的视频 | 黄视频网站免费观看 | 久久精品免费网站 | 国产午夜精品久久久久久免费视 | 亚洲成人入口 | 美国一级黄色毛片 | 毛片免费视频 | 欧美一级片免费在线观看 |