如何在几个 AppContainer 之间导航
How to navigate between a few AppContainers
如何在 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 它但找不到任何工作示例。并看到一些信息,完全重新加载应用程序可能是内存泄漏或类似原因的原因...
那么正确的做法是什么?
你不应该接近多个容器,而是制作 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
},
),
);
请检查代码,如有疑问请追问。
希望对您有所帮助
如何在 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 它但找不到任何工作示例。并看到一些信息,完全重新加载应用程序可能是内存泄漏或类似原因的原因...
那么正确的做法是什么?
你不应该接近多个容器,而是制作 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
},
),
);
请检查代码,如有疑问请追问。
希望对您有所帮助