首页  >  问答  >  正文

通过自己点击链接来重新渲染React Router组件。

<p>我用 <code>react-router-dom</code> v6</p> <h1>代码</h1> <pre class="brush:php;toolbar:false;"><NavLink to="/pathOne" className="ripple">label1</NavLink> <NavLink to="/pathTwo" className="ripple">label2</NavLink></pre> <h1>问题</h1> <p>当你点击一个链接或另一个链接时,Route组件会按预期进行渲染。但是,如果"/pathOne"处于活动状态并且我再次点击它,什么都不会发生。</p><p>是否有一种方法可以通过点击活动链接来强制重新渲染路由元素?</p><p>如果设置了reloadDocument属性,我可以刷新整个页面,但这不是一个可行的选项。</p><p><code></code></p>
P粉295728625P粉295728625472 天前484

全部回复(1)我来回复

  • P粉432906880

    P粉4329068802023-07-28 12:05:00

    如果您真正想要的是让路由组件在每次单击其路由的链接时重新呈现,那么只需让这些组件调用 useLocation 挂钩即可。每次单击链接时,都会创建一个新的 location 对象引用。新的 location 对象引用足以触发使用它的组件重新渲染。

    ###例子:### 雷雷 雷雷

    回复
    0
  • 取消回复