v6版本路由组件设计原则
React Router v6在组件设计上进行了重大重构,核心理念是将路由逻辑与UI组件分离,通过Routes和Route组件的组合来实现更灵活的路由管理。
核心设计原则
1. 嵌套路由设计
// v6推荐的嵌套路由结构
<Routes>
<Route path="/dashboard" element={<Dashboard />}>
<Route index element={<Home />} />
<Route path="profile" element={<Profile />} />
</Route>
</Routes>
2. 路由组件复用性 通过useNavigate和useParams等hook实现路由逻辑的解耦,避免在组件内部直接处理路由逻辑。
迁移实践步骤
- 安装v6版本:
npm install react-router-dom@6 - 替换
Switch为Routes - 使用
element属性替代component属性 - 重构嵌套路由结构
注意事项
- 不再支持
<Redirect>组件,使用navigate替代 useHistory已被useNavigate取代- 路由参数获取方式从
match.params改为useParams()
这种设计原则让路由组件更加模块化和可复用,提升了应用的维护性。

讨论