this.props.location.state ist null, wenn in onEnter replaceState verwendet wird

8

Ich habe das auth-flow-Beispiel für react-router 1.0.3 verfolgt:

%Vor%

Wenn jemand nicht angemeldet ist, wird die Funktion replaceState wie erwartet ausgeführt und zeigt die Seite / login, aber den Status:

{ nextPathname: nextState.location.pathname }

Was in diesem.props.location.state sein soll, ist nirgendwo zu finden. Stattdessen ist this.props.location.state undefined.

Dies scheint das gleiche Problem zu sein wie: Ссылка

Würde jemand wissen, warum der Staat nicht eingestellt wird?

Bearbeiten Ich habe this.props.history.replaceState versucht und scheint den Zustand ohne Probleme zu übergeben. Es funktioniert nicht nur beim OnEnter-Hook.

Bearbeiten 2 Nachdem ich experimentiert und mehr über die Reaktion gelernt hatte, wurde mir klar, dass ich Server-Rendering mit Reagieren machte. Die replaceState-Funktion würde auf dem Server ausgelöst und die Router.match-Funktion (empfohlen für das serverseitige Rendern) würde ausgelöst:

%Vor%

Die redirectLocation würde auf "/ login" gesetzt werden, und die renderProps würden den nächsten Status enthalten. Aber anscheinend, wenn eine serverseitige Umleitung durchgeführt wird, wird der nextState nicht weitergegeben:

res.status(302).redirect(redirectLocation.pathname + redirectLocation.search)

Wenn das richtig ist, dann stellt sich die Frage, wie man beim Umleiten der Server-Seite einen Zustand einstellt.

    
ieldanr 14.01.2016, 12:31
quelle

1 Antwort

0

In der Komponente. Der Pfadname befindet sich in this.props.location.Patchname Ich habe es dort.

%Vor%     
spyalert01 22.01.2016 02:40
quelle

Tags und Links