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

168
Vistas
obtener un TypeError no capturado: el lago no es una función

Editado para agregar todo el gancho.

El siguiente código está dentro de un gancho personalizado. Cuando llamo al enlace personalizado, aparece un TypeError no capturado que me dice que la función de flecha no es una función. ¿Alguien podría explicar qué hice mal y cuál sería la forma correcta de manejar esto?

 const useHook = ({ Id, }) => { let Data = {}; arrowFunction(Id); //calling the arrow function a couple lines below const arrowFunction = (Id) => { const lakeHook = useLake(); if (Id) Data = lakeHook.getReference(Id); if (Data.active){ console.log('data', Data); return Data; } } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Las variables declaradas con let y const también se elevan pero, a diferencia de var, no se inicializan con un valor predeterminado. Se lanzará una excepción si se lee una variable declarada con let o const antes de que se inicialice.

Documentos: https://developer.mozilla.org/en-US/docs/Glossary/Hoisting?retiredLocale=it

Está tratando de leer la función almacenada en const arrowFunction, pero eso no es algo permitido debido a cómo funciona en javascript con variables const. Entonces, lo que debe hacer para llamar a la función antes de la declaración es declararla con la palabra clave adecuada:

 arrowFunction(Id); function arrowFunction(Id){ //logic }

O, alternativamente, llame a la función después de crearla

 const arrowFunction = (Id) => { //logic } arrowFunction(Id);
about 4 years ago · Juan Pablo Isaza Denunciar

0

 const useHook = ({ Id, }) => { const lakeHook = useLake(); // hooks should be called only on top level let Data = {}; const arrowFunction = (Id) => { if (Id) Data = lakeHook.getReference(Id); if (Data.active){ console.log('data', Data); return Data; } } arrowFunction(Id); //calling the arrow function a couple lines below return ??? // declare return statement (optional); }

  1. La expresión de función no se iza. Utilice Declaración de función en su lugar.
  2. lakeHook debe moverse a un nivel superior de acuerdo con las reglas de los ganchos.
  3. Probablemente desee que su useHook personalizado devuelva algo, así que declare la declaración de devolución. (opcional)
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