参数传递反应本地导航

时间:2019-02-14 07:44:48

标签: reactjs react-native react-router react-navigation

我是本机和导航的新手。如何在导航器之间传递参数?即从

传递一些参数
  

NavigatorA到NavigatorB的另一个屏幕

请参阅下面的导航器设置。

    const MobileNumberEntryStack = StackNavigator({
    MobileNumberEntry: MobileNumberEntryScreen
});

const AuthStack = StackNavigator({
    SignIn: SignInScreen,
    SignUp: SignUpScreen
});

const AppNavigator = SwitchNavigator({
    Loading: LoadingScreen,
    App: TabNavigator,
    Auth: AuthStack,
    MobileNumberEntryStack: MobileNumberEntryStack,
});

export default AppNavigator;

在我的LoadingScreen中,我正在获取一些数据,然后从那里通过调用切换到MobileNumberEntryStack

`this.props.navigation.navigate('MobileNumberEntryStack', { user` })

但是我没有在MobileNumberEntryScreen中获得用户。有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

您可以像这样this.props.navigation.navigate('ScreenName', {user})那样访问通过this.props.navigation.state.params.user发送的变量,该变量应该起作用。

答案 1 :(得分:0)

您可以使用此代码从NavigatorA发送参数:

this.props.navigation.navigate('Details', {
   itemId: 86,
   otherParam: 'anything you want here',
});

并使用此代码在NavigatorB中接收参数:

const { navigation } = this.props;
const itemId = navigation.getParam('itemId', 'NO-ID');
const otherParam = navigation.getParam('otherParam', 'some default value');

答案 2 :(得分:0)

将以下代码添加到 AppNavigator 中,然后尝试导航到其中。

 MobileNumberEntryStack: {
        screen: MobileNumberEntryStack,
    },