Estoy creando un sitio web en ReactJS que permite a los usuarios completar un formulario durante la semana pero redirige a una página cerrada el fin de semana. ¿Cómo enrutaría condicionalmente a una página diferente usando react-router-dom? También me gustaría que no sea la hora local, sino según, digamos, PST. ¡Gracias!
Sin conocer la configuración exacta de su enrutador, solo puedo adivinar, pero aquí hay algunas ideas:
El gancho useNavigate :
import { useNavigate } from "react-router-dom"; const navigate = useNavigate(); // check the current date, based on locale useEffect(() => { // date-checking logic // if(weekday) { navigate('/weekday/specific/page'); } // if(weekend) { navigate('/weekend/specific/page'); } // else navigate('/wherever') }, []); Tenga en cuenta el uso de useEffect , desea que se verifique la lógica al montar el componente que decide si se debe realizar la redirección o no.
Componente <Redirect /> :
import { Redirect, Route } from 'react-router-dom'; // const weekday = (date checking logic) <Route exact path="/"> {weekday ? <Redirect to="/weekday" /> : <Weekend />} </Route>