搜索

首页  >  问答  >  正文

React应用中的路由组织原则与最佳实践

<p>我在App.js文件中编写了多个路由。</p> <pre class="brush:php;toolbar:false;">function App() { return ( <MainLayout> <Routes> <Route path="/a" element={<A />} /> <Route path="/b" element={<B />} /> <Route path="/c" element={<C />} /> <Route path="/d" element={<D />} /> </Routes> <Route path="/" element={<Login />} /> </MainLayout> )}</pre> <p>现在我该如何正确组织这些路由呢?因为有大约50个路由,而App.js文件中包含了所有这些50个路由,我认为这不是一个合适的结构。</p>
P粉046387133P粉046387133469 天前519

全部回复(1)我来回复

  • P粉164942791

    P粉1649427912023-08-17 00:20:26

    你可以创建一个新的组件 AppRouter.jsx:

    import {routes} from "@/routes.js";
    
        export default function AppRouter() {
          return (
            <Routes>
              {routes.map(route => <Route path={route.path} element={route.component} />)}
            <Routes/>
          )
        }

    然后创建一个包含路由的文件 routes.js:

    import A from "@/components/A";
    import B from "@/components/B";
    import C from "@/components/C";
    import Login from "@/components/Login";
    
    export const routes = [
      {
        path: "/a",
        component: <A />
      },  
      {
        path: "/b",
        component: <B />
      },
      {
        path: "/c",
        component: <C />
      },
      {
       path: "/",
       component: <Login />
      },
    ]

    然后在你的 App 组件 中使用它:

    function App() {
    
      return (
       <MainLayout>
         <AppRouter/>
      </MainLayout> )}

    如果你需要在将来创建新的路由,请前往 routes.js 并在那里添加它们。

    回复
    0
  • 取消回复