react router4.0路由嵌套

先上代码为敬


const routes = [
    {
        path: '/',
        exact: true,
        component: Main,
    },
    {
        path: '/company',
        // exact: true,
        component: CompanyIntroduce,
        routes:[
            {
                path: '/company/introduce',
                exact: true,
                component: CompanyManagement,
            },
            {
                path: '/company/management',
                exact: true,
                component: CompanyManagement,
            },
        ]
    },
];

const router = (
    <Router history={history}>
        <AppContainer history={history}>
            <Switch>
                {routes.map((route, i) => (
                    <ExtendRoute key={i} {...route} />
                ))}
                <Route component={NoMatchContainer} />
            </Switch>
        </AppContainer>
    </Router>
);

export default router;

想做一个嵌套路由,访问/company/company/introduce都指向CompanyIntroduce 组件,而访问/company/management指向CompanyManagement 组件,可是事实结果就是不管我,访问/company也好,访问/company/introduce也好,还是访问/company/management也好,通通指向到CompanyIntroduce 组件,react router4.0版本已经看了 两三天了,愣是没看懂它的用法,和vue的路由比较起来,真的是难用难理解,求会的大佬帮忙看一下问题在哪,不胜感激!!

阅读 2.1k
1 个回答

文档里有介绍,出现这种现象的原因就是没有使用<Switch>包裹。
我们有现成的项目,你自己参考下吧。
initial dav

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题