Ich las Reakt-Router-Redux-Beispiele und verwirrte:.... Was ist der Unterschied zwischen:
import { Redirect } from 'react-router-dom'
...
<Redirect to='/login' />
und
import { Push } from 'react-router-redux'
...
Push('/login')
Weiterleitung
Beim Rendern eines <Redirect>
wird an einen neuen Ort navigiert. Der neue Speicherort wird override the current location in the history stack,
wie serverseitige Weiterleitungen (HTTP 3xx) ausgeführt.
Geschichte
Push-Funktion Pushes a new entry onto the history stack
Die <Redirect>
-Komponente ersetzt standardmäßig den aktuellen Speicherort durch einen neuen Speicherort im Protokollstapel, der im Wesentlichen als serverseitige Umleitung fungiert.
Es kann jedoch auch mit der Eigenschaft Push
verwendet werden. In diesem Fall wird ein neuer Eintrag in den Protokollstapel verschoben. Dies funktioniert genauso wie history.Push
.
Tatsächlich verwendet die <Redirect>
-Komponente hinter der Szene die historie-Methoden Push
und replace
. Es ist nur eine reaktionsschnellere Art zu navigieren.
Grundsätzlich haben Sie zwei Möglichkeiten zu navigieren:
Verwenden Sie history.Push
und history.replace
in einer Komponente (normalerweise umwickelt mit dem HOC withRouter
), sodass Sie auf das location
-Objekt zugreifen können, ohne es vom übergeordneten zum untergeordneten Objekt übergeben zu müssen.
Verwenden Sie die <Redirect>
-Komponente mit oder ohne die Push
-Eigenschaft