Estoy haciendo un formulario de registro en React usando una clase y me gustaría enviar al usuario a otra página cuando el registro sea correcto, el problema es que no he encontrado ninguna forma funcional de hacerlo.
.then(data => { if(data.error != null) { console.log("Error => "+data.error); } else { //Send the user to the login page } })Esta es la parte donde lo enviaría a la página de inicio de sesión, lo probé con 'useNavigation' y algunos más, pero no puedo encontrar la forma correcta de obtenerlo.
Dado que react-router-dom v6 solo admite ganchos. Para implementar la funcionalidad de navegación dentro de un componente basado en clases, debe crear un HOC y pasar los ganchos como accesorios.
// withRouter.js import { useNavigate } from 'react-router-dom'; export const withRouter = (Component) => { const Wrapper = (props) => { const navigate = useNavigate(); // any other hooks can be added and passed on return ( <Component navigate={navigate} {...props} /> ); }; return Wrapper; };luego en su RegisterForm.jsx puede
import {withRouter} from './withRouter'; class RegisterForm extends React.Component{ //... yourFunction =() =>{ .then(data => { if(data.error != null) { console.log("Error => "+data.error); } else { //Send the user to the login page this.props.navigate('/loginPage'); } }) } //... } export default withRouter(RegisterForm);