【问题标题】:How to navigate between a few AppContainers如何在几个 AppContainer 之间导航
【发布时间】:2019-12-26 09:30:53
【问题描述】:

如何在 AppContainer 之间导航?

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

const stack = User.isAuthorized() ? authStack : unauthStack;

用户输入登录名和密码后,需要将堆栈从unauthStack.SignIn切换到authStack.List

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

const authStack = createAppContainer(createBottomTabNavigator({
        List: { screen: GeneralStack },
        Add: { screen: NewEventStack },
}));

我尝试用 Google 搜索,但找不到任何可行的示例。并看到一些完全重新加载应用程序的信息可能是内存泄漏或类似的原因......

那么正确的做法是什么?

【问题讨论】:

    标签: android ios react-native mobile appcontainer


    【解决方案1】:

    您不应该接近多个容器,而是制作 2 个堆栈并添加 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
        },
      ),
    );
    

    请检查代码,如果有任何疑问,请询问。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2016-07-10
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多