我的项目中有Switch-Navigator,其中包含三个项目:
const App = createSwitchNavigator({
Splash: LoadingScreen,
Auth: AuthStack,
AppStack: Drawer
});
export default createAppContainer(App);
加载屏幕只是一个返回空白视图的屏幕,其中包含登录检查以导航到Auth或Appstack,现在检查后我可以成功导航到任一堆栈,但是无法从某些堆栈导航到其他堆栈,例如我导航到登录后,现在正在从加载屏幕n中获取身份验证屏幕,我想从身份验证堆栈移至AppStack,但它给了我错误。
const AuthScreens = ({ navigation }) => (
<Stack.Navigator>
<Stack.Screen
name="LoginScreen"
component={LoginScreen}
options={{
headerShown: false,
headerTransparent: true,
gestureEnabled: false,
}}
/>
<Stack.Screen
name="ResetPwd"
component={ResetPwd}
gestureEnable={true}
options={{
headerShown: false,
headerTransparent: true,
gestureEnabled: true,
}}
/>
</Stack.Navigator>
);
export default AuthScreens
而且我的AppStack带有抽屉,这会使AppStack进一步膨胀
const DrawerNavigator = () => (
<Drawer.Navigator
...
<Drawer.Screen name="Home" component={AppStack} />
</Drawer.Navigator>
);
export default DrawerNavigator
Appstack:
const StackScreens = () => (
<Stack.Navigator>
<Stack.Screen
name="FeedbackAndWorkingScreen"
component={FeedbackAndWorkingScreen}
gestureEnable={true}
options={{
headerShown: false,
headerTransparent: true,
gestureEnabled: true,
}}
/>
...
</Stack.Navigator>
);
export default StackScreens
我做的时候
props.navigation.navigate('AppStack')
props.navigation.navigate('Auth')
两者都工作正常,但是当我尝试从堆栈的每个导航到另一个时>
props.navigation.navigate('AppStack')
它给我这个错误:Error Image知道我做错了什么吗?
我在我的项目中有Switch-Navigator,它包含三个项目:const App = createSwitchNavigator({Splash:LoadingScreen,Auth:AuthStack,AppStack:Drawer});导出默认值...
我认为您遇到了错误,因为您混合了两个版本的React Navigation 4和5。导致错误的是