React native 错误:操作';导航';对于有效负载{“name”:“Home”}未由任何导航器处理
当我登录时,我成功登录,但私有路由无法重定向到主屏幕 当我重新启动应用程序并被引导到主屏幕时,然后当我尝试注销时。我也无法直接进入登录屏幕。。我的逻辑有问题吗。。 我已经将导航分为两种:私人导航和公共导航/ 这是私人路线React native 错误:操作';导航';对于有效负载{“name”:“Home”}未由任何导航器处理,react-native,react-navigation-stack,react-navigation-v5,react-navigation-bottom-tab,React Native,React Navigation Stack,React Navigation V5,React Navigation Bottom Tab,当我登录时,我成功登录,但私有路由无法重定向到主屏幕 当我重新启动应用程序并被引导到主屏幕时,然后当我尝试注销时。我也无法直接进入登录屏幕。。我的逻辑有问题吗。。 我已经将导航分为两种:私人导航和公共导航/ 这是私人路线 import * as React from 'react'; import {Text} from 'react-native'; import {createStackNavigator} from '@react-navigation/stack'; import {cr
import * as React from 'react';
import {Text} from 'react-native';
import {createStackNavigator} from '@react-navigation/stack';
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
import {NavigationContainer} from '@react-navigation/native';
import HomeScreen from '../../screens/Home';
import MatchesScreen from '../../screens/Matches';
import MessagesScreen from '../../screens/Messages';
import ProfileScreen from '../../screens/Profile';
import SettingScreen from '../../screens/Settings';
import Icon from '../../components/Icon';
import styles from '../../assets/styles';
const Tab = createBottomTabNavigator();
const Stack = createStackNavigator();
const ExploreStackNavigator = () => {
return (
<Stack.Navigator>
<Stack.Screen name="Explore" component={HomeScreen} />
</Stack.Navigator>
);
};
const MatchesStackNavigator = () => {
return (
<Stack.Navigator>
<Stack.Screen name="Matches" component={MatchesScreen} />
</Stack.Navigator>
);
};
const ChatStackNavigator = () => {
return (
<Stack.Navigator>
<Stack.Screen name="Matches" component={MessagesScreen} />
</Stack.Navigator>
);
};
const SettingStackNavigator = () => {
return (
<Stack.Navigator>
<Stack.Screen name="Settings" component={SettingScreen} />
</Stack.Navigator>
);
};
const HomeNavigator = () => {
return (
<Tab.Navigator
screenOptions={({route}) => ({
tabBarIcon: ({focused}) => {
const iconFocused = focused ? '#7444C0' : '#363636';
let iconName;
if (route.name === 'Explore') {
iconName = 'explore';
} else if (route.name === 'Matches') {
iconName = 'heart';
} else if (route.name === 'Chat') {
iconName = 'chat';
} else if (route.name === 'Setting') {
iconName = 'chevronLeft';
}
// You can return any component that you like here!
return (
<Text style={[styles.iconMenu, {color: iconFocused}]}>
<Icon name={iconName} />
</Text>
);
},
})}
tabBarOptions={{
activeTintColor: '#7444C0',
inactiveTintColor: '#363636',
labelStyle: {
fontSize: 14,
textTransform: 'uppercase',
paddingTop: 10,
},
style: {
borderTopWidth: 0,
paddingVertical: 20,
},
}}>
<Tab.Screen name="Explore" component={ExploreStackNavigator} />
<Tab.Screen name="Matches" component={MatchesStackNavigator} />
<Tab.Screen name="Chat" component={ChatStackNavigator} />
<Tab.Screen name="Setting" component={SettingStackNavigator} />
</Tab.Navigator>
);
};
function AppNavigator() {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeNavigator} />
<Stack.Screen name="Profile" component={ProfileScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default AppNavigator;
import*as React from'React';
从“react native”导入{Text};
从'@react navigation/stack'导入{createStackNavigator};
从“@react navigation/bottom tabs”导入{createBottomTabNavigator};
从'@react-navigation/native'导入{NavigationContainer};
从“../../screens/Home”导入主屏幕;
从“../../screens/Matches”导入MatchessScreen;
从“../../screens/Messages”导入MessagesScreen;
从“../../screens/Profile”导入ProfileScreen;
从“../../screens/Settings”导入设置屏幕;
从“../../components/Icon”导入图标;
从“../../assets/styles”导入样式;
const Tab=createBottomTabNavigator();
const Stack=createStackNavigator();
const ExploreStackNavigator=()=>{
返回(
);
};
常量MatchesStackNavigator=()=>{
返回(
);
};
const ChatStackNavigator=()=>{
返回(
);
};
常量设置StackNavigator=()=>{
返回(
);
};
常量HomeNavigator=()=>{
返回(
({
tabBarIcon:({focused})=>{
const iconFocused=focused?#7444C0':#363636';
让我来;
如果(route.name==='Explore'){
iconName=‘探索’;
}else if(route.name==='Matches'){
iconName=‘心’;
}else if(route.name==='Chat'){
iconName='聊天';
}else if(route.name==='Setting'){
iconName='chevronLeft';
}
//您可以在这里返回您喜欢的任何组件!
返回(
);
},
})}
禁忌选项={{
activeTintColor:“#7444C0”,
InactiveIntColor:“#363636”,
标签样式:{
尺寸:14,
textTransform:'大写',
paddingTop:10,
},
风格:{
borderTopWidth:0,
填充垂直:20,
},
}}>
);
};
函数AppNavigator(){
返回(
);
}
导出默认AppNavigator;
这是公共路由——它处理
import * as React from 'react';
import {createStackNavigator} from '@react-navigation/stack';
import {NavigationContainer} from '@react-navigation/native';
import LoginScreen from '../../screens/Login';
import RegisterScreen from '../../screens/Register';
import ForgotPasswordScreen from '../../screens/ForgotPassword';
import WelcomeScreen from '../../screens/Welcome';
import QuestionaireScreen from '../../screens/Questionaire';
const Stack = createStackNavigator();
const AuthNavigator = () => {
return (
<NavigationContainer>
<Stack.Navigator
screenOptions={{
headerShown: false,
headerLeft: () => null,
}}>
<Stack.Screen name="Welcome" component={WelcomeScreen} />
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="Register" component={RegisterScreen} />
<Stack.Screen name="Questionaire" component={QuestionaireScreen} />
<Stack.Screen name="ForgotPassword" component={ForgotPasswordScreen} />
</Stack.Navigator>
</NavigationContainer>
);
};
export default AuthNavigator;
import*as React from'React';
从'@react navigation/stack'导入{createStackNavigator};
从'@react-navigation/native'导入{NavigationContainer};
从“../../screens/Login”导入LoginScreen;
从“../../screens/Register”导入注册表屏幕;
从“../../screens/ForgotPassword”导入ForgotPasswordScreen;
从“../../screens/Welcome”导入WelcomeScreen;
从“../../screens/Questionaire”导入QuestionAirScreen;
const Stack=createStackNavigator();
常量AuthNavigator=()=>{
返回(
无效的
}}>
);
};
导出默认AuthNavigator;
这里是一个尝试切换btw这两条路线的地方
import React, {useState, useEffect} from 'react';
import AsyncStorage from '@react-native-community/async-storage';
import {SafeAreaProvider} from 'react-native-safe-area-context';
// import public navigation
import AuthenticationNavigator from './public';
import RootNavigator from './private';
const AppNavigator = () => {
const [value, setValue] = useState('value');
const readTokenFromStorage = async () => {
const token = await AsyncStorage.getItem('token');
console.log('Token :', token);
setValue(token);
};
useEffect(() => {
readTokenFromStorage();
}, []);
return (
<SafeAreaProvider>
{!value ? <AuthenticationNavigator /> : <RootNavigator />}
</SafeAreaProvider>
);
};
export default AppNavigator;
import React,{useState,useffect}来自“React”;
从“@react native community/async storage”导入异步存储;
从“react native safe area context”导入{SafeAreaProvider};
//导入公共导航
从“/public”导入AuthenticationNavigator;
从“/private”导入RootNavigator;
常量AppNavigator=()=>{
const[value,setValue]=useState('value');
const readTokenFromStorage=async()=>{
const token=await AsyncStorage.getItem('token');
log('Token:',Token);
设置值(令牌);
};
useffect(()=>{
readTokenFromStorage();
}, []);
返回(
{!值?:}
);
};
导出默认AppNavigator;