内部使用两年左右了,最近更新了文档。MobX 作者都点了 star 大佬你要不要也考虑点一下?
- GitHub https://github.com/makeflow/boring-router
- 中文文档 https://www.yuque.com/makeflow/boring-router/introduction
几个关键词:
状态优先
Boring Router 管理了像 route.workbench.$matched 这样的路由状态,并在这些状态的基础上提供了非常薄的一层组件来响应这些对象。
类型安全
使用基于对象、包含类型信息的路由表示法(比如 route.workbench.task.taskId.$push({taskId: '123'})),可以方便地和 Node.js 共享路由声明。
平行路由
大概是独有功能。允许开发者创建一个主路由和多个平行路由,以同时描述多个路由视图。比如: /app/workbench?_sidebar=/notification 表示主路由 /app/workbench,侧边栏平行路由 /notification。
完整的生命周期钩子
专门实现了一个 BrowserHistory 来追踪浏览器历史,可以将浏览器历史堆栈按照指定的快照恢复。于是终于可以安心使用各种生命周期钩子又不用担心破坏了导航历史。