在react-router v4中为不同的路由路径使用相同的组件
我正在尝试使用单独的路线,但在我的React App中添加/编辑表单的组件相同,如下所示:
<Switch> <Route exact path="/dashboard" component={Dashboard}></Route>
<Route exact path="/clients" component={Clients}></Route>
<Route exact path="/add-client" component={manageClient}></Route>
<Route exact path="/edit-client" component={manageClient}></Route>
<Route component={ NotFound } />
</Switch>
现在,在manageClient组件中,我解析查询参数(我在编辑路由中传递带有客户端ID的查询字符串),并根据传递的查询参数有条件地进行渲染。
问题在于这不会再次重新安装整个组件。假设打开了一个编辑页面,并且用户单击添加组件,URL发生了更改,但是该组件没有重新加载,因此保留在编辑页面上。
有办法解决吗?
回答:
key
对每个路径使用不同的值将强制组件进行重建:
<Route key="add-client"
exact path="/add-client"
component={manageClient}
/>
<Route
key="edit-client"
exact path="/edit-client"
component={manageClient}
/>
以上是 在react-router v4中为不同的路由路径使用相同的组件 的全部内容, 来源链接: utcz.com/qa/409805.html