【问题标题】:React Link doesn't refresh the pageReact Link 不刷新页面
【发布时间】:2019-04-24 12:44:21
【问题描述】:

我有这个代码:

<Link to="/dashboard" style={{ color: '#A4A4A4' }}>Dashboard</Link>

作为我的应用程序的一部分,但如果我当前正在查看 /dashboard 路由,则页面不会刷新。

为什么?我怎样才能让它刷新?

【问题讨论】:

    标签: reactjs react-router-dom


    【解决方案1】:

    您可以尝试通过以下方式强制刷新:

    <Link to="/dashboard" onClick={this.forceUpdate} style={{ color: '#A4A4A4'}}>Dashboard</Link>
    

    <Link to="/dashboard" onClick={() => window.location.reload()} style={{ color: '#A4A4A4' }}>Dashboard</Link>
    

    您还可以向 onClick 方法添加逻辑以检查您当前在哪个页面上,并且仅在您在仪表板上时才刷新。

    【讨论】:

    • 谢谢!为什么它不只是“转到”该链接?
    • React 组件只有在 state 或 props 更新时才会重新渲染。如果您尝试导航到当前所在的页面,并且该组件中的状态或道具没有变化,则该组件将不会重新渲染/刷新。如果你更新了组件的 state/props,或者强制页面刷新,它就会刷新。不幸的是,如果您导航到当前页面,react-router-dom 不会为您刷新页面。
    • 希望有帮助!
    • 你的意思是window.location.reload()
    【解决方案2】:

    如果你使用它,它会转到链接并重新加载

    <a onClick={() => {window.location.href="/something"}}>Something</a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多