<Route exact path='/admin/task/create' component={ComponentA} />
<Route exact path='/admin/task/:id' component={ComponentB} />
我访问http://localhost:3000/task/123
它会触发ComponentB,但当我点击http://localhost:3000/task/create
时会触及ComponentB和ComponentA,为什么会这样?我认为确切的道具可以解决这个问题吗?
答案 0 :(得分:0)
我认为你的路由器彼此独立,所以第二个路由器接收“create”为:id。
您必须使用Switch
<Switch>
<Route exact path='/admin/task/create' component={ComponentA} />
<Route exact path='/admin/task/:id' component={ComponentB} />
</Switch>
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/Switch.md