首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用堆栈导航和选项卡导航构建React导航v5堆栈

使用堆栈导航和选项卡导航构建React导航v5堆栈
EN

Stack Overflow用户
提问于 2021-02-23 16:51:45
回答 1查看 70关注 0票数 0

我现在正在考虑如何使用v5而不是switchNavigator来构建我的React导航栈。

我的基本应用程序结构是这样的(将在下面发布一个流程的图像):

代码语言:javascript
复制
check Auth    
    -> signed in yes
      -> tab navigation (with stack navigators nested within)    
    -> signed in no
      -> nested stack navigator

但我就是不知道该如何构建我的应用程序的根。我不知道如何将tab导航器和stack导航器组合在一起,使我的应用程序从头到尾都能正常工作。

(值得注意的是,“检查身份验证”是一个实际的屏幕,而不是一个有条件的屏幕)

下面是我的插图,展示了我的项目布局:

有没有人能告诉我怎么才能建好呢?任何关于如何最好地做到这一点的技巧或一般结构/建议都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2021-02-23 17:06:13

所以我在过去通常做的是渲染或者,而不是两者都做。因此,例如,根导航可能如下所示:

代码语言:javascript
复制
import { NavigationContainer as RootNavigationContainer } from "@react-navigation/native";


const Navigation = () => {
  const { someToken } = useContext(SomeContext);

  return (
    <RootNavigationContainer>
      {!someToken ? <AuthStack /> : <MainStack />}
    </RootNavigationContainer>
  );
};

用户的身份验证状态的确定应该在闪屏显示时完成,使用单独的组件只会混淆流程。如果用户通过了身份验证,您可以设置一些状态(在本例中,在上下文上设置了一个令牌),这将决定显示哪个导航栈。

在我的示例中,AuthStack将包含您的用户未通过身份验证的所有屏幕-因此您的登录、注册等。MainStack将包含仅应显示给已通过身份验证的用户的屏幕。

像FaceID这样的东西应该包括在你的登录流中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66329892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档