登录后如何隐藏底部导航(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)的主要内容,如果未能解决你的问题,请参考以下文章