似乎有一些混淆使用什么而不是另一个:
<Link to='/some/path'>
<Redirect to='/some/path'/>
history.push('/some/path')
我已经使用 React/Router 一段时间了,不同的帖子/答案对何时使用这些有不同的说法,有时它们与其他人所说的不一致。所以我想我需要对此进行一些澄清。
根据我的了解Link
和本文档:
围绕您的应用程序提供声明性的、可访问的导航。
根据我的了解Redirect
和本文档:
将导航到新位置。新位置将覆盖历史堆栈中的当前位置,就像服务器端重定向 (HTTP 3xx) 那样。
似乎我读过的所有帖子几乎每个人都用来Redirect
在该应用程序中导航,并且没有人推荐Link
在这篇文章中使用like 。
现在history
可以做同样的事情Link
,Redirect
除了我有一个历史堆栈跟踪。
问题 1:我什么时候想使用Link
vs Redirect
,另一个用例是什么?
问题 2:既然history
可以通过历史堆栈的额外奖励将用户路由到应用程序内的另一个位置,那么我应该在路由时总是使用历史对象吗?
问题 3:如果我想在应用程序之外进行路由,最好的方法是什么?锚标签、Window.location.href、重定向、链接,以上都不是?