如何在没有导航栏的情况下移动到外部课程?

时间:2017-02-05 17:51:06

标签: react-native

我无法找到任何不使用导航栏加载新页面的内容。我只需要一个按钮来加载像segue(iOS)这样的新视图并加载一个新的Activity(Android)。

1 个答案:

答案 0 :(得分:0)

尽管我认为我知道你在寻找什么,但你能更好地解决问题。

React-Native中的导航为您提供了segue和活动转换。您可以选择许多选项,但最近React Navigation已经发布,这是RN导航的未来。所以,如果你刚开始新的,请先学会使用它。

然而,React Native Router Flux具有更广泛的背景,有许多PR,支持和您可以想到的关于导航的所有内容已经融入其中。在React Navigation变得更加成熟之前,您可以选择轻松使用它。

如上所述,除了从导航栏导航之外,显示一些代码可能有助于您了解导航在RN中的工作方式。

首先应定义导航树,并为每个场景(Activity,Segue)提供唯一键。键将帮助您导航到这些场景。

class App extends React.Component {
  render() {
    return <Router>
      <Scene key="root">
        <Scene key="login" component={Login} title="Login"/>
        <Scene key="register" component={Register} title="Register"/>
        <Scene key="home" component={Home}/>
      </Scene>
    </Router>
  }
}

现在我们定义了登录,注册和家庭场景。假设您正在登录屏幕中(您只需将initial={true}添加到您想要启动应用程序的任何场景中),并且您想要导航到主屏幕。您可以做的只是从 react-native-router-flux 导入 Actions 对象并导航。

Actions.home() // Notice that home is your Home Scene key.

调用此功能后,您会立即看到导航,并返回标签栏后退按钮。如果您不想使用后退按钮(我想这首先是您的问题),您只需致电

Actions.pop()

在你的,可以说是Touchable,回到导航堆栈中。

希望这个答案能给你一个良好的开端。您可以找到有关react-native-router-flux here的详细文档。