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

287
Visualizações
La función llamada desde un gancho personalizado de reacción devuelve 'no es una función'

Cuando intento llamar a una función desde mi enlace personalizado, aparece un error cuando se carga la pantalla y dice que 'handleLazyLoad' no es una función. No estoy seguro de por qué React no puede darse cuenta de que handleLazyLoad es una función, estoy pensando que puedo exportarlo o llamarlo incorrectamente.

Gancho personalizado:

 import { useState } from 'react'; const useLoadInvoices = (initialPageValue, totalInvoices) => { const [currentPage, setCurrentPage] = useState(initialPageValue); const pageSize = 30; const handleLazyLoad = () => { if (currentPage * pageSize < totalInvoices) setCurrentPage(currentPage + 1); }; const totalShownInvoices = currentPage * pageSize > totalInvoices ? totalInvoices : currentPage * pageSize; return [totalShownInvoices, handleLazyLoad]; }; export default useLoadInvoices;

Componente de pantalla de factura:

 import React from 'react'; import useLazyLoad from './hooks/useLazyLoad'; const InvoicesScreen = () => { const [invoices, setInvoices] = useState(null); const [totalInvoices, setTotalInvoices] = useState(null); const [handleLazyLoad, totalShownInvoices] = useLoadInvoices(1, totalInvoices); handleLazyLoad(); return ( <AccountPageList type="invoices" handleLazyLoad={() => handleLazyLoad()} start={1} finish={totalShownInvoices} total={totalInvoices} items={invoices} /> ); }; export default InvoicesScreen;
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Está devolviendo un Array de su enlace personalizado, por lo que al desestructurar el enlace personalizado, el orden es importante. Para evitar tales problemas, puede cambiar esta parte en su gancho personalizado desde:

 return [totalShownInvoices, handleLazyLoad];

a:

 return {totalShownInvoices, handleLazyLoad};

Entonces puedes desestructurarlo de la siguiente manera y el orden no importaría:

 const {handleLazyLoad, totalShownInvoices} = useLoadInvoices( 1, totalInvoices, );
about 4 years ago · Juan Pablo Isaza Relatório

0

El orden importa cuando se desestructura en una matriz.

 const [totalShownInvoices,handleLazyLoad] = useLoadInvoices( 1, totalInvoices, );
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