任何人都知道处理复杂导航的良好缩放模式。 不寻找库(我们的堆栈已经基于 React Navigation)
我所说的复杂导航是指具有 80 多个屏幕的应用程序中的路由堆栈,其中包括针对不同 UX 流程的大量条件导航。 例如:带有号召性用语按钮的屏幕重定向到某些屏幕,具体取决于: 路由堆栈中存在路由项 初始入口 路由参数 应用程序状态(redux 商店)
我们已经达到了导航逻辑已经失控的地步,并且修复与导航相关的错误的成本变得越来越高。 我想知道其他应用程序如何处理这种复杂程度。
附带问题:有任何工具(使用 AST 或静态代码分析)来构建导航堆栈的可视化表示吗?
虽然我没有开发过具有那么多屏幕的应用程序,但我已经处理过为每组屏幕创建堆栈导航的代码,并且从一个堆栈移动到另一个堆栈是一件令人头痛的事情。因此,我建议避免创建单独的堆栈并保留大多数不依赖于根堆栈中任何其他导航的屏幕,并使用组(https://reactnavigation.org/docs/group/)来管理屏幕。希望这有帮助!