Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在几个AppContainer之间导航_Android_Ios_React Native_Mobile_Appcontainer - Fatal编程技术网

Android 如何在几个AppContainer之间导航

Android 如何在几个AppContainer之间导航,android,ios,react-native,mobile,appcontainer,Android,Ios,React Native,Mobile,Appcontainer,如何在AppContainers之间导航 我在App.js中检测到一个正确的堆栈 const stack = User.isAuthorized() ? authStack : unauthStack; 用户输入登录名和密码后,需要将堆栈从unauthStack.sign切换到authStack.List const unauthStack = createAppContainer(createStackNavigator({ SignIn: { screen: SignIn },

如何在AppContainers之间导航

我在App.js中检测到一个正确的堆栈

const stack = User.isAuthorized() ? authStack : unauthStack;
用户输入登录名和密码后,需要将堆栈从
unauthStack.sign
切换到
authStack.List

const unauthStack = createAppContainer(createStackNavigator({
    SignIn: { screen: SignIn },
    ForgotPassword: { screen: ForgotPassword },
}));

const authStack = createAppContainer(createBottomTabNavigator({
        List: { screen: GeneralStack },
        Add: { screen: NewEventStack },
}));
我试着用谷歌搜索,但找不到任何有效的例子。看到一些信息,完全重新加载应用程序可能是内存泄漏或类似的原因


那么正确的方法是什么呢?

您不应该接近多个容器,而是制作两个堆栈并添加一个switchNavigator,如果它已登录,则相应地显示。见下例:

const navigation = createAppContainer(
  createSwitchNavigator(
    {
      App: HomeStack, // these are after login pages
      Auth: AuthStack,// these are before login pages
    },
    {
      initialRouteName: isToken?'App':'Auth', //checking if token exists
    },
  ),
);
请检查代码,如果有任何疑问,请询问

希望能有帮助