【发布时间】:2017-01-13 09:15:59
【问题描述】:
我使用 History 包将无效 URL 重定向到我的 react 组件上的 404 页面。
我使用.replace 而不是.push 只是因为我不希望浏览器记录我访问过的任何无效网址。
我错过了这里的重点吗?为我的目的选择一个或另一个之间是否有权衡?
谁能给我解释一下?在此先感谢;)
【问题讨论】:
标签: reactjs react-router browser-history
我使用 History 包将无效 URL 重定向到我的 react 组件上的 404 页面。
我使用.replace 而不是.push 只是因为我不希望浏览器记录我访问过的任何无效网址。
我错过了这里的重点吗?为我的目的选择一个或另一个之间是否有权衡?
谁能给我解释一下?在此先感谢;)
【问题讨论】:
标签: reactjs react-router browser-history
我认为你的想法是正确的。
我个人使用.replace 从无效网址重定向(或不相关,即当登录用户转到“/登录”网址时重定向到“个人资料”页面),因此使用浏览器的“返回”按钮有效适合最终用户。
【讨论】:
router.replace 的作用类似于 router.push,唯一的区别是它在导航时不推送新的历史条目,顾名思义 - 它替换当前条目。
【讨论】:
当我有明确的操作并且我不希望用户能够返回此页面时,我喜欢使用.replace()。
示例:我有一个带有删除按钮的产品详细信息页面,用于最终删除产品。当我单击按钮时,我会 router.replace 返回所有产品列表,因此当用户在浏览器中使用后退按钮时,他无法返回详细信息页面,因此他无法看到甚至再次单击删除按钮因为这个产品已经不存在了。
【讨论】: