Solid Router
如果只看 Solid 本体,会觉得它像一个高性能 UI 库。把 Solid Router 接进来之后,才更像一套可落地的应用方案。
Router 在负责什么
- 页面组织
- 嵌套路由
- 导航
- 参数和查询读取
- 预加载
- 路由级布局
最基础的结构
import { Route, Router } from '@solidjs/router'
<Router>
<Route path="/" component={Home} />
<Route path="/users/:id" component={UserDetail} />
</Router>
A 组件
Solid Router 使用自己的链接组件。
import { A } from '@solidjs/router'
<A href="/dashboard">Dashboard</A>
嵌套路由
布局和子页面可以自然组合,这一点和现代 React Router、Vue Router 的思路比较接近。
预加载
路由切换前预取资源,是这套体验里很实用的一块。真实项目里,列表进详情、控制台切换、多面板页面都会受益。
路由这块最需要注意什么
Solid Router 的语法不难,真正要适应的是它和 Solid 响应式模型的配合方式。参数、资源、布局、懒加载这些东西组合在一起时,思路和 React 生态仍然有些不同。