2015-05-12 16 views
10

Czy istnieje sposób, aby uzyskać React Router, aby otworzyć łącze w nowej karcie? Próbowałem tego i to nie działało.Otwarty router React Link w nowej zakładce

<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link> 

Jest możliwe, aby puch dodając coś podobnego onClick="foo" do łącza jak co mam powyżej, ale nie byłoby to błąd konsoli.

Dzięki.

Odpowiedz

9

Myślę, że komponent Link nie ma rekwizytów do niego.

Można mieć alternatywną drogę przez utworzyć tag i zastosować metodę makeHref wstawek nawigacji, aby stworzyć swój adres

<a target='_blank' href={this.makeHref(routeConsts.CHECK_DOMAIN, {}, 
    { realm: userStore.getState().realms[0].name })}> 
     Share this link to your webmaster 
</a> 
10

w aktualnej wersji React Router, można użyć:

<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} /> 
1

sposób simples jest użycie „do” własności:

<Link to="chart" target="_blank" to="http://link2external.page.com" >Test</Link> 
4

Możemy użyć następujących opcji: -

// 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"> 

Możemy użyć jednej z trzech opcji, aby otworzyć w nowej karcie przez reagują routingu.

+0

Niektóre iPhony ignorują "target = '_ blank" ". Wygląda na to, że to się nie uda dla tych telefonów. – Deborah

Powiązane problemy