多次单击同一个反应路由器链接时强制重新安装组件

Quo*_*ang 2 reactjs react-router react-router-v4 react-router-dom

我有一个带有数据表的路由页面,在组件安装时获取数据。当我多次单击同一个 react-router-dom 链接(到上面的路由)时,似乎只有在路由更改时才卸载组件(要渲染不同的组件)。

我希望再次单击同一链接时强制重新安装组件以获取新数据。react-router-dom Link 或任何其他 Link 组件中是否有任何选项或任何技巧可以做到这一点?

我的示例代码在这里:https : //codesandbox.io/s/react-router-9wrkz

我希望多次单击“关于”链接时“关于”组件将重新安装

Moh*_*ami 13

强制重新安装组件的一种方法是更改key道具(您可以使用Date.now()props.location.key):

  <Route
    path="/about"
    render={props => <About key={props.location.key} {...props} />}
  />
Run Code Online (Sandbox Code Playgroud)

  • 回到这个问题,我使用 props.location.key 作为组件密钥。但如果我想推送 URL 而不更改密钥来强制重新安装。这意味着有时我想强制重新安装,有时则不想。我怎样才能实现这个目标 (2认同)