从React-Navigation V4-V5迁移CommonActions.init和router.getStateForAction发生了什么?

时间:2020-02-20 18:47:46

标签: react-navigation react-navigation-v5

我们的应用使用CommonActions.init()并将其传递给router.getStateForAction

我在这里遇到两个问题:

  1. init()功能不再在CommonActions中。

  2. router.getStateForAction上的AppNavigator不再可用。

如何在React-Navigation v5中执行这些功能?

我的AppNavigator是使用兼容性层创建的。看起来如下:

const AppNavigator = createCompatNavigatorFactory(createStackNavigator)

我的应用抛出一个错误,提示未定义AppNavigator.router。那么,我又如何访问router.getSateForAction功能?

1 个答案:

答案 0 :(得分:0)

React Navigation 5没有这样的静态属性,因为它需要支持动态路由。要覆盖操作所发生的情况,您需要传递一个自定义路由器。