2017-08-31 2 views
0

Ich habe die Dokumentation hier von react-router-dom's Redirect verfolgt. Gerade jetzt, ich habe eine Komponente, so macht die folgenden:Verwenden von react-router-dom Redirect mit Status

return <Redirect to={{ pathname: '/login', state: { previousPath: path } }} />; 

Allerdings bin ich mir nicht sicher, wie bei meinem neuen Weg previousPath im Zustand zuzugreifen. Die Dokumentation ist dazu nicht klar. Wie kann ich auf previousPath zugreifen?

Antwort

1

Eine Ihrer Elternkomponenten sollte Route mit Requisiten sein: Spiel, Ort, Geschichte. Sie sollten in der Lage sein, den mit props.location.state erstellten Status zu verwenden, um auf Ihren previousPath Wert zuzugreifen.

Siehe location in den React Router-Dokumenten.

+0

Danke Julian. Ich bin in der Lage, 'previousPath' auf den korrekten Wert zu setzen ... aber ich frage mich, wie ich auf' previousPath' in einer anderen Komponente zugreife? Das heißt, die Komponente, die aus dem Redirect – frogbandit

0

es ownProps in mapStateToProps gelöst mit:

In meiner Login Komponente (wo die Redirect geht), habe ich das meine mapStateToProps hinzugefügt:

const mapStateToProps = (state, ownProps) => ({ 
    ... 
    previousPath: ownProps.location.state.previousPath, 
}); 

Und dann, jetzt in meinen Requisiten wir Zugang haben zu previousPath.

+0

mapStateToProps gerendert wird, stammt von redux: P. Wenn Sie sich meine aktualisierte Antwort ansehen, werden Sie sehen, dass ich Sie über eine halbe Stunde lang geschlagen habe –

Verwandte Themen