登录后如何隐藏底部导航(React Native)

Posted

技术标签:

【中文标题】登录后如何隐藏底部导航(React Native)【英文标题】:how to hide buttom navigation after login (React Native) 【发布时间】:2021-09-07 14:02:12 【问题描述】:

我现在学习本机反应,如果他们已经登录并且无法返回登录活动,我有案例如何隐藏按钮导航?我之前做了一些逻辑,但总是出错,我该如何解决?谢谢

这是我的代码

 const Icon = async () => 
    if (label === "Home") return isFocused ? <HomeActive /> : <HomeDeactive />
    if (label === "Posts") return isFocused ? <PostActive /> : <Post />
    if (await isAuthenticated() !== null) 
        return isFocused ? <HomeActive /> : <HomeDeactive />
    
    if (label === "Accounts") return isFocused ? <AccountActive /> : <Account />
    if (label === "Remas") return isFocused ? <MosqueActive /> : <Mosque />
    return <HomeDeactive />

【问题讨论】:

请添加错误信息 因为您没有正确配置导航 auth 导航,并且您的登录后导航应该是分开的,并且基于 auth 状态,其中一个应该是活动的。 这是我制作函数“isAuthenticated()”来处理检查令牌是否在异步存储中的错误消息错误:对象作为 React 子项无效(找到:带有键 _U,_V 的对象, _W, _X)。如果您打算渲染一组子项,请改用数组。 【参考方案1】:

我的回答将基于我认为您要问的内容,因为您的问题目前似乎还不清楚。

所以,React Native 中的登录流程是这样的

    首先,您将状态保持为isUserlogged: false,该状态最初为假。 用户通过单击登录按钮或其他方式进入您的应用程序的登录页面,并且您仅在 isUserLogged 通过检查 Redux 状态或异步存储为 false 时才允许用户进入登录页面,无论您存储了状态。 用户输入他们的凭据并登录 现在,您将它们路由到不同的屏幕并重置此屏幕,即堆栈中的登录屏幕。因此,他们无法按手机中的返回按钮并返回登录屏幕。

在反应导航中,您可以通过以下链接进行操作:Reset stack

您可以使用状态isUserLogged 隐藏底部标签。

【讨论】:

谢谢@Blatzo,因为你也许我没有使用你的步骤,但你打开了我的思维,让我有一个漂泊的想法

以上是关于登录后如何隐藏底部导航(React Native)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Native 中隐藏底部操作栏

尝试在 react-native 的底部选项卡导航上添加图像时面临问题

如何在 React Native 的导航界面中隐藏标签栏?

在 React native 中创建自定义底部选项卡导航器

React Native 底部标签导航器

如何仅在 React Native 的某些屏幕中隐藏父堆栈导航器标题