通过react-router的 <Redirect /> 组件在新选项卡中打开

IT技术 javascript reactjs react-router
2021-05-27 23:45:35

React Router Link 组件target="_blank"用于在新选项卡中打开页面。有没有办法对重定向组件做同样的事情?

我的组件的设置方式,我无法环绕Link有问题的组件(组件上有一个按钮,点击它也会重定向,我不想要)这就是我使用的原因Redirect,但是可以找不到在新标签页中打开新网址的方法,怎么办?

1个回答

有没有办法对重定向组件做同样的事情?

简答:

不。

长一点:

从技术上讲<Link><a>为您创建了一个target="_blank". 从文档:

围绕您的应用程序提供声明性的、可访问的导航。

<Redirect> 用于其他用途,如文档所述:

渲染 a<Redirect>将导航到新位置。新位置将覆盖历史堆栈中的当前位置,就像服务器端重定向 (HTTP 3xx) 那样。

所以总结<Redirect>就是更新历史,<Link>用作锚标签。归根结底,如果您真的需要使用,target="_blank"那么我建议您为此目的使用<Link>或创建一个<a>标签。

早些时候我创建了一个代表重定向选项的 GitHub 存储库,请在下面找到它:https : //github.com/norbitrial/react-router-programmatically-redirect-examples

我希望这有帮助!