首页 > 解决方案 > 通过在新标签页中打开反应路由器的组件

问题描述

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

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

标签: javascriptreactjsreact-router

解决方案


有没有办法对 Redirect 组件做同样的事情?

简短的回答:

不。

再长一点:

从技术上讲,为您<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

我希望这会有所帮助!


推荐阅读