Передача параметров в реакцию родной навигации - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в реакции-родной и реакции-навигации.Как передать параметры между навигаторами?т.е. передача некоторых параметров из

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 голосов
/ 14 февраля 2019

вы можете использовать этот код для отправки параметров из 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');
0 голосов
/ 14 февраля 2019

Добавьте приведенный ниже код в AppNavigator и попробуйте перейти в него.

 MobileNumberEntryStack: {
        screen: MobileNumberEntryStack,
    },
0 голосов
/ 14 февраля 2019

Вы можете получить доступ к той переменной, которую вы послали с помощью this.props.navigation.navigate('ScreenName', {user}), как это this.props.navigation.state.params.user, это должно работать.

...