react-navigation v2重构和最佳实践

时间:2018-06-06 13:12:29

标签: react-native react-navigation

我们去年开发了一个应用程序,现在我们正在重写导航结构,旨在简化它(我们使用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

您认为以不同方式构建导航树以克服任何问题会更好吗?一些建议?

谢谢你, 弗朗西斯

0 个答案:

没有答案