为 SwitchNavigator 传递参数以进行反应导航

Abu*_*nce 1 javascript reactjs react-native react-navigation

我正在尝试按照此处所述在 react-navigation 中设置身份验证流程。我可以在屏幕之间导航,但不能传入道具。

在登录屏幕中,我们导航到应用程序,如下所示:

this.props.navigation.navigate('App', {user: "hello"});
Run Code Online (Sandbox Code Playgroud)

然后在应用程序中,我们尝试user按如下方式访问该值:

const { params } = this.props.navigation.state;
const userId = params ? params.user : null;
Run Code Online (Sandbox Code Playgroud)

打印出来params如下:

{routeName:"Home",key:"id-1524078856706-13"}
Run Code Online (Sandbox Code Playgroud)

我做了一个简单的小吃来演示这个问题。似乎上述方法仅适用于 StackNavigator?我必须恢复到 StackNavigator 吗?

Pri*_*dya 6

你必须通过PARAMS到routeName已注册的应用程序的路由器,而不是提到它传递给应用程序的路由器在这里

params - 合并到目标路线的参数

现在你正在传递paramsStackRouter **App**

要解决此问题,您只需调用

this.props.navigation.navigate('Home', {user: "hello"});
Run Code Online (Sandbox Code Playgroud)