Ich verwende react und redux für meine Anwendung. ich meine Routen haben definiert alsReact Router history.push aktualisiert die URL, aktualisiert aber die Komponente nicht, wenn sie mit redux verwendet wird
<HashRouter>
<div className="container">
<Route path="/register" component={Register} />
<Route path="/login" component={Login} />
</div>
</HashRouter>
folgt Und ich habe meine Komponenten definiert als
export default connect(mapStateToProps)(Login);
export default connect(mapStateToProps)(Register);
Nun, sobald die Registrierung erfolgt ich den Benutzer auf login
Seite umleiten möchten. Also, wenn die Anmeldung erfolgreich war ich ihm login
von meiner UserAction
Funktion bin Umleitung wie folgt
UserService.register(user)
.then(
user => {
dispatch(success());
history.push('/#/login'); //<== here is the issue
},
error => {
dispatch(failure(error));
}
);
Die history.push
über die URL ändert sich aber nicht lädt die Login
Komponente.
Ich habe auch versucht
export default withRouter(connect(mapStateToProps)(Login));
export default withRouter(connect(mapStateToProps)(Register));
Aber noch kein Glück. Irgendeine Lösung wie man das beheben kann?
Hinweis: Ich bin nicht mit react-router-redux
könnten Sie versuchen, 'history.push ('/ login');' –
Ich persönlich manipuliere die Geschichte nicht direkt. Ich rendere eine ' ' Komponente bedingungslos und lasse den Router für mich tun. Hier sind die [docs] (https://reacttraining.com/reacts-router/web/api/Redirect). –