[英]Jumping between different navigators in react native using react-navigation
[英]I can not Navigating Between Different Navigators in React-Native
我已經完成了 3 個路由文件:
import React from 'react'; import { createStackNavigator } from '@react-navigation/stack'; import Dashboard from '../pages/Dashboard'; const AppStack = createStackNavigator(); const AppRoutes = () => ( <AppStack.Navigator> <AppStack.Screen name='Dashboard' component={Dashboard} /> </AppStack.Navigator> ); export default AppRoutes;
import React from 'react'; import { createStackNavigator } from '@react-navigation/stack'; import SignInView from '../pages/SignIn'; import Loading from '../pages/Loading'; const AuthStack = createStackNavigator(); const AuthRoutes = () => ( <AuthStack.Navigator> <AuthStack.Screen name='SignIn' component={SignInView} /> <AuthStack.Screen name='Loading' component={Loading} /> </AuthStack.Navigator> ); export default AuthRoutes;
import React from 'react'; import AppRoutes from './app.routes'; import AuthRoutes from './auth.routes'; import { Logado } from '../services/apiUser'; const Routes = () => { //aqui vai o if com o retorno se esta ou nao logado se nao authroutes se sim approutes if(Logado){ return <AppRoutes />; }else{ return <AuthRoutes />; } }; export default Routes;
現在我正在嘗試在 app.routes.js 文件中調用 AppStack 上的 Dahsboard 屏幕,如下所示:
import {ButtonDashboard,Container,ButtonTitle,TextInformation,} from './styles'; const Dashboard = ({ navigation }) => { return ( <Container> <ButtonDashboard onPress={() => navigation.navigate('AuthStack', {screen: 'Dashboard' })}> <ButtonTitle>Call Dashboard screen</ButtonTitle> </ButtonDashboard> </Container> ); }; export default Dashboard;
我按照文檔並仍然收到此錯誤:
console.error: 帶有有效載荷 {"neme":"AuthStack", "params": {screen":"Dashboard"}} 的操作 'NAVIGATE' 未被任何導航器處理。
你有一個名為“AuthStack”的屏幕嗎?
如果您嘗試導航到嵌套導航器中的屏幕,請參閱(反應導航站點)。
這是你的 AuthStack
<AuthStack.Navigator>
<AuthStack.Screen
name='SignIn'
component={SignInView}
/>
<AuthStack.Screen
name='Loading'
component={Loading}
/>
</AuthStack.Navigator>
在這里,我們沒有任何名為“儀表板”的屏幕! 所以 screen 的有效值可以是Signin和Loading 。 因此,當您想導航到任何屏幕時,請避免使用屏幕道具或傳遞已定義的有效屏幕名稱! 也不是堆棧,而是您使用名為AuthRoutes的堆棧創建的組件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.