Je suis nouveau dans React, et la plupart des tutoriels que je vois sur la redirection à l'aide de React Router semblent utiliser l'extrait de code ci-dessus. Ce que j'essaie de réaliser, c'est de rediriger l'utilisateur vers la page d'accueil de mon site Web après une connexion réussie. J'ai essayé history.push mais selon mes recherches google, cela ne fonctionne plus dans Router v4. Que puis-je faire comme alternative? Je suis ouvert aux solutions avec état et sans état.
Pour clarifier, voici le flux de travail -
3 Réponses :
Vous pouvez utiliser le composant Redirect. https://reacttraining.com/react-router/web/api/Redirect
history.push (location) peut toujours être utilisé
https://reacttraining.com/react-router/core/api/history/history-is-mutable
// usually all you need <Link to="/somewhere"/> // but you can use a location instead const location = { pathname: '/somewhere', state: { fromDashboard: true } } <Link to={location}/> <Redirect to={location}/> history.push(location) history.replace(location)
p>
history.push ('./ path')
est toujours utilisable dans React Router v4, vous devez ajouter withRouter
exemple
import React, { Component } from 'react' import { withRouter } from 'react-router-dom' import compose from 'recompose/compose' class Test extends Component { render () { const { history } = this.props return ( <div> <Button onClick={() => history.push('./path')} </div> ) } } export default compose( withRouter, )(Test)