【问题标题】:What is the trade off between history push and replace?历史推送和替换之间的权衡是什么?
【发布时间】:2017-01-13 09:15:59
【问题描述】:

我使用 History 包将无效 URL 重定向到我的 react 组件上的 404 页面。

我使用.replace 而不是.push 只是因为我不希望浏览器记录我访问过的任何无效网址。

我错过了这里的重点吗?为我的目的选择一个或另一个之间是否有权衡?

谁能给我解释一下?在此先感谢;)

【问题讨论】:

    标签: reactjs react-router browser-history


    【解决方案1】:

    我认为你的想法是正确的。

    我个人使用.replace 从无效网址重定向(或不相关,即当登录用户转到“/登录”网址时重定向到“个人资料”页面),因此使用浏览器的“返回”按钮有效适合最终用户。

    【讨论】:

      【解决方案2】:

      router.replace 的作用类似于 router.push,唯一的区别是它在导航时不推送新的历史条目,顾名思义 - 它替换当前条目。

      【讨论】:

        【解决方案3】:

        当我有明确的操作并且我不希望用户能够返回此页面时,我喜欢使用.replace()

        示例:我有一个带有删除按钮的产品详细信息页面,用于最终删除产品。当我单击按钮时,我会 router.replace 返回所有产品列表,因此当用户在浏览器中使用后退按钮时,他无法返回详细信息页面,因此他无法看到甚至再次单击删除按钮因为这个产品已经不存在了。

        【讨论】:

          猜你喜欢
          • 2019-04-10
          • 2016-12-17
          • 2011-09-06
          • 2015-10-29
          • 1970-01-01
          • 2012-05-18
          • 2019-10-29
          • 1970-01-01
          相关资源
          最近更新 更多