Реагируйте на встроенную навигацию - навигация. Navigate не является функцией - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь сделать свое приложение и использовать навигацию React, и когда я пытаюсь сделать кнопку, я не изменяю свой экран следующим образом: onPress={() => navigation.navigate('Connect'), и когда я нажимаю на мою кнопку, у меня появляется эта ошибка: navigation.navigate is not a function (in 'navigation.navigate('Connect'), 'navigation.navigate is undefined'

Однако я использовал ту же кнопку на домашнем экране, и она работает! может быть, навигация по моему реквизиту не готова на другом экране 'Поздравления'?

мой код:

Поздравления. js -

export default function Congratulations({navigation}, props) {

return (
    <View style={styles.isSubmit}>
        <Logo width={300} height={100} />
        <Text style={styles.congratulations}>Félicitations {props.firstName + ' ' + props.lastName}, tu peux désormais organiser tes évènements sur l'application ! </Text>
        <View style={{marginTop:30}}>
                <TouchableOpacity
                    style={styles.buttonShadowConnect}
                    onPress={() => navigation.navigate('Connect')}>
                    <LinearGradient style={styles.button} colors={['#FD867E', '#FD7EAC']} start={[0, 0.65]}
                                    end={[0.70, 1]}>
                        <Text style={styles.textButton}>Connexion</Text>
                    </LinearGradient>
                </TouchableOpacity>
        </View>
    </View>
); }

моя навигация. js:

 <NavigationContainer theme={Theme}>
            <Drawer.Navigator initialRouteName="Home" drawerType={"slide"} options={options}>
                <Drawer.Screen name="Home" component={Home} options={{ title: "Accueil" }}/>
                <Drawer.Screen name="JoinUs" component={JoinUs} options={{ title: "Nous rejoindre" }}/>
                <Drawer.Screen name="Connect" component={Connect} options={{ title: "Se connecter" }}/>
            </Drawer.Navigator>

        </NavigationContainer>

и я вызываю свой компонент Поздравления в моем компоненте JoinUsForm. js вот так:

    <Congratulations firstName={getFirstName} lastName={getLastName} navigation={navigation}></Congratulations>

вы можете проверить мой репо, если хотите: https://github.com/teddyboirin/myparty спасибо!

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Разрушение реквизита стало причиной моей проблемы! спасибо!

0 голосов
/ 11 апреля 2020

Я запустил ваш проект на выставке без проблем. Я думаю, что вы забыли запустить pod install в папке iOS:

cd ios && pod install
...