Estoy tratando de crear algo como aquí en stackoverflow:
Cuando entro en esta URL:
https://stackoverflow.com/questions/70615440actualizará la URL a:
https://stackoverflow.com/questions/70615440/refactor-switch-statement-to-reduce-code-complexity La url es posible visitar por id. Agregará/actualizará el slug a la url. También puedo usar un slug aleatorio https://stackoverflow.com/questions/70615440/xxx y lo actualizará al correcto: https://stackoverflow.com/questions/70615440/refactor-switch-statement-to-reduce-code-complexity
xenForo hace algo similar:
https://xenforo.com/community/threads/200874/ https://xenforo.com/community/threads/xenforo-2-2-8-patch-1-and-add-on-updates-released.200874/¿Cómo puedo lograr algo como esto en una aplicación React? ¿Cómo se llama ese comportamiento?
Se llama enrutamiento . Puede instalar react-router-dom y usar ganchos useHistory y useLocation . El uso es muy simple. De la documentación sobre useLocation :
El enlace useLocation devuelve el objeto de ubicación que representa la URL actual.
Puede guardar la URL actual en el nombre de la ruta y compararla con la identificación; si coinciden, puede usar useHistory para la navegación.
Código de ejemplo:
const { pathname } = useLocation(); const history = useHistory(); const handleChange = () => history.push("/questions/70615440/refactor-switch-statement-to-reduce-code-complexity"); useEffect(() => { if(pathname === "/questions/70615440"){handleChange()} }, []);