我是本机和导航的新手。如何在导航器之间传递参数?即从
传递一些参数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
中获得用户。有人可以帮我吗?
答案 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,
},