有没有办法让React Router在新标签页中打开链接?我尝试了一下,但没有成功。
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
可以通过向onClick="foo"
Link添加类似于我上面的内容来使其模糊,但是会出现控制台错误。
谢谢。
有没有办法让React Router在新标签页中打开链接?我尝试了一下,但没有成功。
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
可以通过向onClick="foo"
Link添加类似于我上面的内容来使其模糊,但是会出现控制台错误。
谢谢。
Answers:
在React Router 5.0.1及更高版本中,您可以使用:
<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} />
target="_blank"
足以解决问题。
target="_blank"
为我工作:)在react-router 5.0.1中
我们可以使用以下选项:
// first option is:-
<Link to="myRoute" params={myParams} target="_blank">
// second option is:-
var href = this.props.history.createHref('myRoute', myParams);
<a href={href} target="_blank">
//third option is:-
var href = '/myRoute/' + myParams.foo + '/' + myParams.bar;
<a href={href} target="_blank">
我们可以使用三个选项之一通过反应路由在新选项卡中打开。
对于外部链接,只需使用achach代替Link:
<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>
rel="noopener noreferrer"
可以在此处找到其原因mathiasbynens.github.io/rel-noopener
从react_router 1.0开始,道具将传递到锚标记上。您可以直接使用target="_blank"
。此处讨论:https : //github.com/ReactTraining/react-router/issues/2188
就我而言,我正在使用另一个功能。
功能
function openTab() {
window.open('https://play.google.com/store/apps/details?id=com.drishya');
}
<Link onClick={openTab}></Link>
这对我来说很好
<Link to={`link`} target="_blank">View</Link>
要在新标签页中打开网址,可以使用以下链接标签:
<Link to="/yourRoute" target="_blank">
Open YourRoute in a new tab
</Link>
请记住,该<Link>
元素已转换为一个<a>
元素,这很高兴,并且根据react-router-dom docs,您可以传递任何您想在其上使用的道具,例如title,id,className等。