我找不到任何不使用导航栏加载新页面的内容。我只需要一个按钮来加载一个新的视图,比如segue(iOS)和加载一个活动(Android)。
尽管我想我知道你在找什么,但你最好把问题说得更清楚。
React Native中的导航为您提供分段和活动转换。有很多选项可供选择,但最近发布了React Navigation,这是RN导航的未来。所以,如果你是从新开始的,首先要学会使用它。
然而,React Native Router Flux有着更广泛的背景,有许多PR、支持,你能想到的关于导航的一切都已经融入其中。在React Navigation变得更成熟之前,你可以选择轻松使用它。
也就是说,显示一些代码可以帮助您了解RN中的导航是如何工作的,就像您所说的那样,除了从导航栏导航之外。
您应该首先定义导航树,并为您拥有的每个场景(活动、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原生路由器流量的详细文档。