React Router v6的发布带来了路由配置方式的重大变革,其中最显著的变化就是路由配置文件结构的重新设计。在v6版本中,传统的<Route>组件嵌套结构被扁平化的路由配置所取代,这要求开发者重新思考路由文件的组织方式。
首先,在v6中,我们需要使用createBrowserRouter和RouterProvider来替代之前的BrowserRouter和Switch组件。配置文件的核心结构如下:
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
const router = createBrowserRouter([
{
path: '/',
element: <Layout />, // 布局组件
children: [
{
index: true,
element: <Home />
},
{
path: 'about',
element: <About />
}
]
}
]);
function App() {
return <RouterProvider router={router} />;
}
这种设计使得路由配置更加清晰,通过children属性来组织嵌套路由,同时保持了路由层级的扁平化。在实际项目中,建议将路由配置文件拆分为多个模块,例如:
- 创建
routes/index.js作为入口文件 - 按功能模块创建
routes/home.js、routes/user.js等 - 使用动态导入优化性能
迁移时需要特别注意:
Switch组件被移除,使用RouterProvider替代- 路由参数获取方式从
match.params改为useParams()钩子 - 嵌套路由结构需要重构为扁平化配置
这种新的路由配置结构不仅提高了代码的可维护性,还便于团队协作开发和后期扩展。

讨论