我使用History包将无效的 URL 重定向到我的 React 组件上的 404 页面。
我使用.replace
而不是.push
仅仅因为我不希望浏览器记录我访问过的任何无效 url。
我错过了这里的重点吗?在为我的目的选择一个或另一个之间是否存在权衡?
有人可以向我解释一下吗?提前致谢 ;)
我使用History包将无效的 URL 重定向到我的 React 组件上的 404 页面。
我使用.replace
而不是.push
仅仅因为我不希望浏览器记录我访问过的任何无效 url。
我错过了这里的重点吗?在为我的目的选择一个或另一个之间是否存在权衡?
有人可以向我解释一下吗?提前致谢 ;)
我认为你的想法是正确的。
我个人.replace
在从无效 url(或不相关,即当登录用户转到“/login”url 时重定向到“个人资料”页面)重定向时使用,因此使用浏览器的“后退”按钮对最终用户正常工作。
router.replace 就像 router.push 一样,唯一的区别是它在导航时不推送新的历史条目,顾名思义 - 它替换当前条目。
我喜欢.replace()
在我有一个明确的行动并且我不希望用户能够回到这个页面时使用。
示例:我有一个带有删除按钮的产品详细信息页面,用于最终删除产品。当我单击按钮时,我会router.replace
返回所有产品的列表,因此当用户在浏览器中使用后退按钮时,他无法返回详细信息页面,因此他无法看到甚至再次单击该产品的删除按钮不存在了。