Javascript React路由器中的中间URL参数 我试图在中间路由一个带有参数的路径。这是我的路线图 import Events from "./views/EventsView"; import Event from "./views/EventView"; import NotFound from "./views/NotFoundView"; import RegistrationView from "./views/RegistrationView" export default [ {path: "/", component: Events, exact: true}, {path: "/events", component: Events, exact: true}, {path: "/events/:projectId", component: Event, exact: true}, {path: "/events/:projectId/register", component: RegistrationView, exact: true}, {component: NotFound} ]

Javascript React路由器中的中间URL参数 我试图在中间路由一个带有参数的路径。这是我的路线图 import Events from "./views/EventsView"; import Event from "./views/EventView"; import NotFound from "./views/NotFoundView"; import RegistrationView from "./views/RegistrationView" export default [ {path: "/", component: Events, exact: true}, {path: "/events", component: Events, exact: true}, {path: "/events/:projectId", component: Event, exact: true}, {path: "/events/:projectId/register", component: RegistrationView, exact: true}, {component: NotFound} ],javascript,reactjs,react-router,react-router-v4,react-router-dom,Javascript,Reactjs,React Router,React Router V4,React Router Dom,然后我在一个中映射我的路线,它在一个中 <Switch> { return routes.map(({path, component, exact}, key) => <Route key={key} path={path} component={component} exact={exact}/>) } </Switch> 问题 问题是我的/events/:projectId被路径/events/:pr

然后我在一个
中映射我的路线,它在一个

<Switch>
    {
        return routes.map(({path, component, exact}, key) =>
            <Route key={key} path={path} component={component} exact={exact}/>)
}
</Switch>
问题

问题是我的
/events/:projectId
被路径
/events/:projectId/register
覆盖。所以每次我尝试访问我的
事件
组件时。我得到了注册视图返回。我试图更改
精确的
值或删除
,但它似乎不起作用。 有人对这个有意见吗?你是如何解决这个问题的

{path: "/events/:projectId/register", component: RegistrationView, exact: true},

{path: "/events/:projectId", component: Event, exact: true},
带有:projectd/register的路由需要位于顶部


带有:projectd/register的路由必须位于顶部。

删除事件路由上的精确路由。删除事件路由上的精确路由。@ZulwiyozaPutra您是否尝试过我的建议它与route exact属性有关您需要删除具有参数且在eventsyes上只有一个参数的子路由上的精确路由,它在删除相应的
exact:true
@ZulwiyozaPutra后工作。您尝试过我的建议吗?它与route exact属性有关。您需要在具有参数且在事件中只有一个参数的子路由上删除exact,它在删除相应的
exact:true
{path: "/events/:projectId/register", component: RegistrationView, exact: true},

{path: "/events/:projectId", component: Event, exact: true},