Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
error de importación: 'useHistory' no se exporta de 'react-router-dom'

Estoy tratando de importar useHistory desde 'react-router-dom', sin embargo, aparece este error: error de importación: 'useHistory' no se exporta desde 'react-router-dom'.

También verifiqué otras respuestas, como Intento de error de importación: 'useHistory' no se exporta de 'react-router-dom', pero fue en vano. Mi paquete.json se ve así

paquete.json

Estoy usando useHistory como tal,

 import React from 'react'; import { useState, useEffect } from 'react'; import { useHistory } from 'react-router-dom'; export default function Login(){ const history = useHistory(); console.log(history) }

Sin embargo, esta línea funciona bien y no causa problemas de importación desde react-router-dom.

 import {BrowserRouter as Router, Switch, Route} from 'react-router-dom'

¿Alguien tiene una idea de cómo resolver este problema? muy apreciado.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

UseHistory ya se reemplazó con useNavigate Así que prueba esto 👇👇

 import { useNavigate } from 'react-router-dom';

Dentro de su función:

 const navigate = useNavigate(); navigate('/home')

Espero que esto haya funcionado 👌

about 4 years ago · Juan Pablo Isaza Denunciar

0

useNavigate si instala v6 o más que react-router-dom": ^6.2.1

 import { useNavigate } from "react-router-dom"; let navigate = useNavigate(); const onSubmit = async (e) => { e.preventDefault(); await axios.post("http://localhost:3001/users", user); navigate(`/`); };
about 4 years ago · Juan Pablo Isaza Denunciar

0

La respuesta correcta a su problema es que necesita confirmar que su uso del enlace de historial está dentro del alcance de un BrowserRouter. Una solución rápida sería mover el componente BrowserRouter a un nivel superior a app.js o index.js. al invocar el enlace useHistory dentro del alcance de un componente que ya está dentro del contexto de un BrowserRouter, no debería tener problemas en v5. Las personas que comentaron sobre v6 aún necesitarían hacer esta misma solución, la respuesta es no actualizar, aunque si tiene la capacidad de actualizar, lo haría.

Corrección sugerida: renderice el BrowserRouter en index.js

 // index.js ... import { BrowserRouter } from 'react-router-dom' // <=V5 not compatible with V6 render(<BrowserRouter><App /></BrowserRouter>, document.getElementById('root')); ...

Luego, en cualquier componente que esté cargado dentro del componente, puede usar useHistory

Obtenga más información sobre el historial y dónde se puede cargar: https://github.com/remix-run/history

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda