我知道有几种方法可以解决这个问题,但我想知道是否有一个首选或推荐的模式,可以适应更大的复杂应用程序? 我的登录过程目前包括3个屏幕或视图 我的环境包括与Redux绑定的React Native,Redux,React Navigation和Redux Sagas。
模式1:
在我的根组件中,我检查验证状态并返回Login组件或返回我的AppWithNavigationState组件。
这里的问题是我必须在一个Login组件中为我的应用程序流模拟3个单独的屏幕,这对于Reacts架构很好,但是会产生很多带有子组件的混乱条件逻辑。
模式2: 我的根组件只返回我的AppWithNavigationState,如果用户未经过身份验证,我的启动saga会将应用程序重定向到登录屏幕。成功登录后,导航堆栈将重置为我的主屏幕。 这个想法的问题是您的默认屏幕无论哪个屏幕,您将根据身份验证状态重定向到不同的屏幕。我无法在导航器中找到在app load上动态设置默认屏幕的好方法。