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

时间:2018-04-18 19:20:47

标签: javascript reactjs react-native react-navigation

我正在尝试按照here所述在react-navigation中设置身份验证流程。我能够在屏幕之间导航,但无法传递道具。

在登录屏幕中,我们按如下方式导航到应用程序:

this.props.navigation.navigate('App', {user: "hello"});

然后在应用程序中,我们尝试访问user值,如下所示:

const { params } = this.props.navigation.state;
const userId = params ? params.user : null;

打印params给出以下内容:

{routeName:"Home",key:"id-1524078856706-13"}

我做了一个简单的Snack来证明这个问题。似乎上述方法只适用于StackNavigator?我必须恢复到StackNavigator吗?

1 个答案:

答案 0 :(得分:1)

您必须将参数传递给已在应用程序路由器中注册的routeName,而不是将其传递到应用程序的路由器,如上所述here

  

params - 要合并到目的地路线的参数

现在您将params传递给StackRouter **App**

要解决此问题,您只需致电

即可
this.props.navigation.navigate('Home', {user: "hello"});