【问题标题】:How to use push in React Router DOM v6如何在 React Router DOM v6 中使用推送
【发布时间】:2022-01-07 10:53:35
【问题描述】:

我用的是react-router-dom v6,我看到有一些变化。

我需要替换这个:

return <Redirect push to={`/url/${this.state.myState}`}/>

与:

return <Navigate replace to={`/url/${this.state.myState}`} /> 

但我不知道在 v6 上使用“推送”。

【问题讨论】:

  • 默认情况下,RRDv6 中的所有导航都是 PUSH,除非通过 replace 属性进行重定向。
  • @DrewReese,哦,谢谢你的回答,对于我的用例,我只需要删除替换,我不明白默认情况下它是推送,谢谢

标签: react-router react-router-dom


【解决方案1】:

React Router v6 中的显式语法是这样的:

&lt;Navigate to={`/url/${this.state.myState}`} replace={true} /&gt;

重定向功能已从 React Router 中移除。所以这意味着没有 、redirectTo 或 isRedirect,也没有替代 API。

注意v5默认使用replace逻辑(你可以通过push prop改变它),而v6默认使用push逻辑,你可以通过replace prop改变它。

所以你不需要明确指定push,因为它是从现在开始的默认值。

如迁移指南中所述:

// Change this:
<Redirect to="about" />
<Redirect to="home" push />

// to this:
<Navigate to="about" replace />
<Navigate to="home" />

参考: https://reactrouter.com/docs/en/v6/upgrading/v5

【讨论】:

    猜你喜欢
    • 2022-07-18
    • 2020-12-07
    • 2023-01-17
    • 2022-07-09
    • 2022-01-24
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多