[reactjs] React-Router 새 탭에서 링크 열기
React Router 가 새 탭에서 링크를 열 도록하는 방법이 있습니까? 나는 이것을 시도했지만 작동하지 않았습니다.
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
onClick="foo"
위와 같이 링크 에 추가하여 플러 프 할 수 있지만 콘솔 오류가 발생합니다.
감사.
답변
링크 구성 요소에는 소품이 없다고 생각합니다.
태그를 생성하고 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" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} />
답변
다음 옵션을 사용할 수 있습니다.
// 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">
리 액트 라우팅으로 새 탭에서 열려면 세 가지 옵션 중 하나를 사용할 수 있습니다.
답변
대상으로 “{}”를 사용할 수 있습니다. 그러면 jsx가 울지 않습니다.
<Link target={"_blank"} to="your-link">Your Link</Link>
답변
외부 링크의 경우 Link 대신 achor를 사용하십시오.
<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>
답변
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>