【发布时间】:2016-03-17 22:24:48
【问题描述】:
我很难理解 Navigator 组件。 我有一组预设路线
routes: [{
name: 'settings'
}, {
name: 'feed'
}, {
name: 'matches'
}]
所以应用程序从 Feed 页面开始,然后您可以使用 NavigationBar 在 3 条路线之间来回切换 [为方便起见,从代码中省略]
<Navigator initialRoute={config.routes[1]}
initialRouteStack={config.routes}
renderScene={this.renderScene}} />
现在,我想介绍一条新的临时路线 [有点像 instagram/spotify] 因此,在 Feed 路由上,当您单击“显示配置文件”时,它会将新路由推送到堆栈。
this.props.nav.push({
name: 'profile',
sceneConfig: Navigator.SceneConfigs.FloatFromBottom
})
现在,令人讨厌的是,它完全取代了 Matches 路线,因为当我弹出这条路线以返回 Feed 时。比赛路线已完全删除。 我查看了 API 并尝试使用 replace 方法等,但不断得到时髦的结果。
请参阅下面的 GIF 以获得更好的理解。
这是使用导航器的正确方法,有一组预设的路线吗?我在 NavigationBar 中使用 jumpBack/jumpForward 在它们之间移动,但是我无法为预设路线提供特定的场景配置。我该怎么做呢?例如,如果我想设置路由到 FloatFromBottom?
【问题讨论】:
-
更新:我通过创建一个自定义 NavigationBar 组件解决了这个问题,该组件反映了任何路线变化github.com/antigirl/ReactNativeGraphRoutes
标签: routes react-native navigator