react-native填坑--react-navigation

Posted cosyer的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react-native填坑--react-navigation相关的知识,希望对你有一定的参考价值。

Navigator已经被React Native废弃了。也许你可以在另外的一个依赖库里react-native-deprecated-custom-components里找到。不过既然官方推荐的是react-navigation那我们就来看看这个东西到底有什么好的,值不值得用。

react-navigation包括下面三个Navigator:

  • StackNavigator: 这个组件是用来代替之前的Navigator的。凡是维持一种“先进后出”的栈式导航的话就可以用这个。
  • TabNavigator:这个组件和ios的`TabBarController。看起来是这样的。
  • DrawerNavigator:这个组件就是抽屉式的导航菜单。在React Native里只有android才有:DrawerLayoutAndroid,在iOS里是没有的。有了DrawerNavigator,两个平台都可以用了。

最简单的用法:

import { StackNavigator } from "react-navigation";
export default NavHome = StackNavigator({
  Home: {
    screen: NavApp,
  },
  Message: {
    screen: MessageContainer,
  },
})

实现页面间的跳转:

StackNavigator(RouteConfigs, StackNavigatorConfig)我们需要配置navigationOptions
//App.js 页面
<Button onPress={this.props.navigation.navigate(‘Message‘)} title={‘To message‘} />

//MessageContainer.js
<Button onPress={this.props.navigation.goBack()} title={‘Go Back‘} />

Home: {
    screen: App,
    navigationOptions: ({navigation}) => ({
      title: ‘Home‘,
      headerLeft: (<Button onPress={() => navigation.navigate(‘DrawerToggle‘)} title={‘User‘} />),
      headerRight: (<Button onPress={() => navigation.navigate(‘Message‘)} title={‘Message‘} />),
    })
},

 

以上是关于react-native填坑--react-navigation的主要内容,如果未能解决你的问题,请参考以下文章

react-native-reanimated 的构建失败

react-native 环境配置及hello world

QtWebEngine 填坑

React填坑

Spring Cloud Oauth2 + Security 填坑记

为微信开发填坑:微信网页支付的开发流程及填坑技巧