# 嵌套导航器

嵌套导航器

在手机app上经常有各种形式的导航器进行组合。
在React中路由和导航器都是可以组合的,这样可以让你定义一些复杂的导航器在你的APP中。
在我们的聊天应用中,我们通过放入几个标签在第一个个场景/页面中去看到最近的聊天界面和所有的联系人。

标签导航器介绍

让我们先创建一个 TabNavigatorApp.js文按中:

class RecentChatsScreen extends React.Component {
  render() {
    return <Text>List of recent chats</Text>
  }
}

class AllContactsScreen extends React.Component {
  render() {
    return <Text>List of all contacts</Text>
  }
}

const MainScreenNavigator = TabNavigator({
  Recent: { screen: RecentChatsScreen },
  All: { screen: AllContactsScreen },
});

如果把MainScreenNavigator 作为最顶层的导航器组件将会是这样的:simple-tabs

嵌套导航器在场景/页面中

我们让这些标签都在app的第一个页面都是可以见的,但是每个新的场景/页面在栈中都是覆盖其他标签的。

让我们添加一个标签导航器并通过之前的一些步骤作为StackNavigator导航器栈顶的场景/页面

const SimpleApp = StackNavigator({
  Home: { screen: MainScreenNavigator },
  Chat: { screen: ChatScreen },
});

因为 MainScreenNavigator 将用作为一个场景/页面,所以我们为它设置 navigationOptions

MainScreenNavigator.navigationOptions = {
  title: 'My Chats',
};

我们同时添加一个按钮用作连接不同标签中的聊天。

<Button
  onPress={() => this.props.navigation.navigate('Chat', { user: 'Lucy' })}
  title="Chat with Lucy"
/>

现在我们可以将一个导航器放到另外一个导航器里面,同时我们通过navigate方法在不同导航器中跳转

nested
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在移动app开发中,有各种形式的导航。导航组件中导航器和路由器是可以组合的,这样就可以定制你需要的导航组件了。 选...
    AISpider阅读 6,863评论 1 1
  • 一. Hello Mobile Navigation 让我们使用React Naviation来创建一个简单的聊天...
    nimw阅读 3,987评论 0 1
  • 本文是基于最新的react-navigation^2.9.1来书写的。 要感谢挂着铃铛的兔看到一篇不错的介绍,这里...
    HT_Jonson阅读 4,353评论 0 52
  • 他们说 我是来自远古时期的麋鹿 习惯在冰冷的石穴里睡觉 吃不成熟的果子 两只眼睛 深邃的藏着孤独 可那天 你是来自...
    Hxdispla阅读 650评论 0 0
  • 盛世间 我将经历一场苦行 却因万般魔音耳入耳 迷始乱终 这里有一座城,有很多人, 只有我是真的。 胡言...
    feiyayou阅读 806评论 0 0