Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

173
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda