我们去年开发了一个应用程序,现在我们正在重写导航结构,旨在简化它(我们使用redux进行导航和redux-persist),更新到最新导航并改进它。 我们遵循当时的“官方”方式或我们理解的方式,我们可能会使系统过于复杂。
当前导航树是:
stackNavigator ->
LOGIN_SCREEN ->
REGISTER_SCREEN ->
PASSWORDRECOVER_SCREEN ->
MAIN_SCREEN ->
LOADING_SCREEN ->
LOGGED_SCREEN ->
DrawerNavigator ->
Screen1 ->
TabNavigator ->
Tab1 -> stackNavigator
screen1 (list)
Screen2 (detail)
Tab2 -> stackNavigator
screen1 (list)
Screen2 (detail)
Screen2
Screen3
screen4
screen5
现在我正在实施一个switchNavigator作为管理登录/注册/应用系统的第一个组件。
但我们总是遇到导航器抽屉的问题。将它用作LOGGED_SCREEN树的主要组件是否正确?或者更好地以另一种方式使用它? 在管理Android上的“后退”按钮等情况下,我总是遇到问题,因为我从来没有找到一个很好的方法来了解触发事件的屏幕或 或者强制应用程序始终从同一屏幕恢复,如果上次应用程序打开,我无法强制重置它,例如,TabNavigator-> Tab1-> stackNavigator-> screen2(详细信息)但是如果记录,我需要从TabNavigator-> Tab1-> stackNavigator-> screen1(list)
重新启动我的新结构将是(我认为):
switchNavigator ->
LOADING_SCREEN
LOGIN_SCREEN
REGISTER_SCREEN
PASSWORDRECOVER_SCREEN
LOGGED_SCREEN ->
DrawerNavigator ->
Screen1 ->
TabNavigator ->
Tab1 -> stackNavigator
screen1 (list)
Screen2 (detail)
Tab2 -> stackNavigator
screen1 (list)
Screen2 (detail)
Screen2
Screen3
screen4
screen5
您认为以不同方式构建导航树以克服任何问题会更好吗?一些建议?
谢谢你, 弗朗西斯