React Router v4嵌套路由

时间:2018-01-09 19:47:43

标签: reactjs routing react-router react-router-dom

由于以下原因,所有React Router的拳头都让我很困惑。如果其他人有同样的感觉,这可能对他们有用,或者如果他们不这样做,他们的回答对我有帮助:))

1)使用反应路由器V4的标准方法是什么

  • 使用Switch?这对V4来说还算不错吗?
  • 在一个js文件中使用Route config作为集合?
  • 使用parent component中指定的路线?

2)如果我的应用程序有多个大模块,如何根据模块指定路由并将它们组合在根索引文件中?这是开始时的正确方法吗?

我的路由配置以这种方式编写,如何配置notfound(404)逻辑如果我以这种方式配置路由配置,如果找不到路由,我希望它重定向到主页。

const routes = [
{
    path: '/',
    component: Layout,
    routes: [{
        path: '/users',
        component: Users,
        exact: true
    }, {
        path: '/users/:id',
        component: ViewUser
    }, {
        path: '/addUser',
        component: AddUser
    }
    ]
}, { component: Layout }
];

const RouteWithSubRoutes = (route) => (
  <Route path={route.path} exact={route.exact} render={props => (
    <route.component {...props} routes={route.routes} />
    )} />
);

export const renderChildren = (childRoutes) => {
    if (childRoutes) {
        return childRoutes.map((route, i) => {
            return <RouteWithSubRoutes key={i} {...route} />;
        });
    }
};

export const RouteConfig = () => {
    return (
      <Router>
        <div>
          {renderChildren(routes)}
        </div>
      </Router>
    );
};

0 个答案:

没有答案