在StackNavigator状态

时间:2018-03-21 14:56:16

标签: react-navigation

我使用react-navigation和react-navigation-redux-helpers。

让我们说我有一个具有这种状态的stackNavigator:

{
  index: 2,
  routes: [route1, route2, route3]
}

在某些时刻我需要过滤掉route2:

{
  index: 1,
  routes: [route1, route3]
}

如果我使用NavigationActions.reset执行此操作,它将像我再次打开route3一样动画。

有没有办法在没有任何动画的情况下从StackNavigator状态过滤路由?

更多插图说明:

我有很难的结帐流程,其中一些屏幕取决于用户登录。对于结帐导航器用户可以随时登录(因为auth可以在另一个模式StackNavigator中显示)。所以当我打开route3时我无法使用NavigationActions.replace。

我也对相反的情况感兴趣:当我必须将route2.1推入状态时。

1 个答案:

答案 0 :(得分:0)

据我所知,v1中的react-navigation只允许在每个路由器的基础上设置动画,如this回答中所示。

基于sceneProps,您需要弄清楚覆盖您的用例的条件,并为无动画返回null。从the sources判断,此界面可能会在v2中得到改善。