React-Router 在新标签页中打开 Link
React-Router open Link in new tab
有没有办法让 React Router 在新标签页中打开 link?我试过了,但没用。
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
可以通过在 Link 中添加类似 onClick="foo"
的东西来弄乱它,就像我上面的那样,但是会出现控制台错误。
谢谢。
我认为 Link 组件没有它的道具。
您可以通过创建标签和使用 Navigation mixin 的 makeHref 方法来创建您的 url
<a target='_blank' href={this.makeHref(routeConsts.CHECK_DOMAIN, {},
{ realm: userStore.getState().realms[0].name })}>
Share this link to your webmaster
</a>
从 React Router 版本 5.0.1 开始,您可以使用:
<Link to="route" target="_blank" rel="noopener noreferrer" />
最简单的方法是使用'to' 属性:
<Link to="chart" target="_blank" to="http://link2external.page.com" >Test</Link>
从 react_router 1.0 开始,道具将被传递到锚标签上。可以直接使用target="_blank"
。此处讨论:https://github.com/ReactTraining/react-router/issues/2188
We can use the following options:-
// 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">
We can use either of three option to open in new tab by react routing.
对于外部 link 只需使用锚代替 Link:
<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>
target可以用"{}",jsx就不哭了
<Link target={"_blank"} to="your-link">Your Link</Link>
这对我来说很好
<Link to={`link`} target="_blank">View</Link>
就我而言,我正在使用另一个函数。
函数
function openTab() {
window.open('https://play.google.com/store/apps/details?id=com.drishya');
}
<Link onClick={openTab}></Link>
target="_blank"
足以在新选项卡中打开,当您使用 react-router
例如:
<Link to={`/admin/posts/error-post-list/${this.props.errorDate}`} target="_blank"> View Details </Link>`
要在新标签页中打开 url,您可以使用 Link 标签,如下所示:
<Link to="/yourRoute" target="_blank">
Open YourRoute in a new tab
</Link>
请记住,<Link>
元素会转换为 <a>
元素,并且根据 react-router-dom docs,您可以传递任何您想要的道具上面有title, id, className等
<Link to={{ pathname: "https://github.com/vinothsmart/" }} target="_blank" />
此代码可以正常工作,就像 href="" target="_blank"
无需导入 react-router 或外部库即可工作。
此外,Chrome 不考虑弹出窗口,因此 window 未被阻止。
<button onClick={() => window.open("https://google.com.ar")} />
或者如果你想使用字符串变量
<button onClick={() => window.open(redirectUrl.toString())} />
创建一个函数来打开 link,无论是弹出窗口、新标签还是新 window。这个在新标签页中打开。在您的 link 标记中,调用该函数。请记住包含路径名,因为它是您正在使用的 link 标记。
let windowObjectReference;
let windowFeatures = "popup";
let instagramUrl = "https://www.instagram.com/?hl=en";
function openInstagram(){
windowObjectReference = window.open(instagramUrl, windowFeatures);
有没有办法让 React Router 在新标签页中打开 link?我试过了,但没用。
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
可以通过在 Link 中添加类似 onClick="foo"
的东西来弄乱它,就像我上面的那样,但是会出现控制台错误。
谢谢。
我认为 Link 组件没有它的道具。
您可以通过创建标签和使用 Navigation mixin 的 makeHref 方法来创建您的 url
<a target='_blank' href={this.makeHref(routeConsts.CHECK_DOMAIN, {},
{ realm: userStore.getState().realms[0].name })}>
Share this link to your webmaster
</a>
从 React Router 版本 5.0.1 开始,您可以使用:
<Link to="route" target="_blank" rel="noopener noreferrer" />
最简单的方法是使用'to' 属性:
<Link to="chart" target="_blank" to="http://link2external.page.com" >Test</Link>
从 react_router 1.0 开始,道具将被传递到锚标签上。可以直接使用target="_blank"
。此处讨论:https://github.com/ReactTraining/react-router/issues/2188
We can use the following options:-
// 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">
We can use either of three option to open in new tab by react routing.
对于外部 link 只需使用锚代替 Link:
<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>
target可以用"{}",jsx就不哭了
<Link target={"_blank"} to="your-link">Your Link</Link>
这对我来说很好
<Link to={`link`} target="_blank">View</Link>
就我而言,我正在使用另一个函数。
函数
function openTab() {
window.open('https://play.google.com/store/apps/details?id=com.drishya');
}
<Link onClick={openTab}></Link>
target="_blank"
足以在新选项卡中打开,当您使用 react-router
例如:
<Link to={`/admin/posts/error-post-list/${this.props.errorDate}`} target="_blank"> View Details </Link>`
要在新标签页中打开 url,您可以使用 Link 标签,如下所示:
<Link to="/yourRoute" target="_blank">
Open YourRoute in a new tab
</Link>
请记住,<Link>
元素会转换为 <a>
元素,并且根据 react-router-dom docs,您可以传递任何您想要的道具上面有title, id, className等
<Link to={{ pathname: "https://github.com/vinothsmart/" }} target="_blank" />
此代码可以正常工作,就像 href="" target="_blank"
无需导入 react-router 或外部库即可工作。
此外,Chrome 不考虑弹出窗口,因此 window 未被阻止。
<button onClick={() => window.open("https://google.com.ar")} />
或者如果你想使用字符串变量
<button onClick={() => window.open(redirectUrl.toString())} />
创建一个函数来打开 link,无论是弹出窗口、新标签还是新 window。这个在新标签页中打开。在您的 link 标记中,调用该函数。请记住包含路径名,因为它是您正在使用的 link 标记。
let windowObjectReference;
let windowFeatures = "popup";
let instagramUrl = "https://www.instagram.com/?hl=en";
function openInstagram(){
windowObjectReference = window.open(instagramUrl, windowFeatures);