我是 React Native 的新手,我正在嘗試創建從登錄頁面到歡迎頁面的導航。我不斷收到錯誤訊息:未定義不是物件(正在評估“navigation.navigate”)。有人可以向我解釋一下嗎?并告訴我如何解決這個問題?
這是我的 App.js:
import React from 'react';
import { View, Text, Image, TextInput, TouchableOpacity } from 'react-native';
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import { NavigationContainer } from '@react-navigation/native';
//screens
import Login from './screens/Login';
import Signup from './screens/Signup';
import Welcome from './screens/Welcome';
import EditProfile from './screens/EditProfile';
import BookVaxAppt from './screens/BookVaxAppt';
import UpdateVaxStatus from './screens/UpdateVaxStatus';
const Stack = createNativeStackNavigator();
export default function (App) {
return (
<NavigationContainer>
<Stack.Navigator screenOptions={{headerShown: false}}>
<Stack.Screen
name="Login"
component={Login}
/>
<Stack.Screen
name="Welcome"
component={Welcome}
/>
</Stack.Navigator>
</NavigationContainer>
);
}
這是我的 Login.js:
<Formik initialValues={{ email: '', password: '' }} onSubmit={(values) => { console.log(values); }}>
{({ handleChange, handleBlur, handleSubmit, navigation, values }) =>
(<StyledFormArea>
<MessageBox>...</MessageBox>
<StyledButton onPress={() => navigation.navigate("Welcome")}>
<ButtonText>Login</ButtonText>
</StyledButton>
<StyledButton google={true} onPress={handleSubmit}>
<Fontisto name="google" color={primary} size={25} />
<ButtonText google={true}>Sign in with Google</ButtonText>
</StyledButton>
<ExtraView>
<ExtraText>Don't have an account? </ExtraText>
<TextLink>
<TextLinkContent>Sign up now</TextLinkContent>
</TextLink>
</ExtraView>
</StyledFormArea>
)}
</Formik>
</InnerContainer>
</StyledContainer>
);
};
uj5u.com熱心網友回復:
您如何匯入/使用/創建/訪問它navigation?
通常,有一些方法可以在螢屏之間導航(您可以在官方檔案中閱讀更多關于它們的資訊),但我想您沒有navigation在渲染Formik組件的組件中收到道具。這樣的事情可以作業:
const Login = ({ navigation, ...props }) => {
return (
<Formik>
{/* ... */}
<StyledButton onPress={() => navigation.navigate("Welcome")}>
<ButtonText>Login</ButtonText>
</StyledButton>
{/* ... */}
</Formik>
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/534238.html
下一篇:從經過身份驗證的用戶那里檢索角色和權限LaravelBreeze React inertia SpatiePermission
