Czy istnieje sposób, aby React Router otworzył łącze w nowej karcie? Próbowałem tego i nie udało się.
<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>
Można go spuścić, dodając coś podobnego onClick="foo"
do linku, takiego jak to, co mam powyżej, ale wystąpiłby błąd konsoli.
Dzięki.
W React Router w wersji 5.0.1 i nowszych możesz użyć:
<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} />
źródło
target="_blank"
wystarczy, aby załatwić sprawę .rel='noopener noreferrer'
jeśli używasztarget="_blank"
target="_blank"
zadziałało dla mnie :) w// 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">
źródło
target='_blank'
: zalecamy dodanierel='noopener noreferrer'
do<a>
taguMożesz użyć „{}” jako celu, wtedy jsx nie będzie płakać
<Link target={"_blank"} to="your-link">Your Link</Link>
źródło
W przypadku łącza zewnętrznego po prostu użyj achor zamiast Link:
<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>
źródło
rel="noopener noreferrer"
można znaleźć tutaj mathiasbynens.github.io/rel-noopenerPocząwszy odreak_router 1.0, właściwości zostaną przekazane do znacznika kotwicy. Możesz bezpośrednio użyć
target="_blank"
. Omówiono tutaj: https://github.com/ReactTraining/react-router/issues/2188źródło
W moim przypadku używam innej funkcji.
Funkcjonować
function openTab() { window.open('https://play.google.com/store/apps/details?id=com.drishya'); } <Link onClick={openTab}></Link>
źródło
Prostym sposobem jest użycie właściwości „to”:
<Link to="chart" target="_blank" to="http://link2external.page.com" >Test</Link>
źródło
to działa dobrze dla mnie
<Link to={`link`} target="_blank">View</Link>
źródło
Aby otworzyć adres URL w nowej karcie, możesz użyć tagu Link, jak poniżej:
<Link to="/yourRoute" target="_blank"> Open YourRoute in a new tab </Link>
Dobrze jest pamiętać, że
<Link>
element jest tłumaczony na<a>
element, a zgodnie z dokumentami react-router-dom możesz przekazać dowolne właściwości, które chcesz, aby były na nim, takie jak tytuł, identyfikator, nazwa klasy itp.źródło
target = "_ blank" wystarczy, aby otworzyć nową kartę, gdy używasz React-router
np .:
<Link to={
/admin/posts/error-post-list/${this.props.errorDate}} target="_blank"> View Details </Link>
źródło