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

279
Vistas
NextJS: la compilación falla a pesar de que el desarrollo funciona bien, se queja de React Hooks donde no los estoy usando

cartel de primera vez aquí. Soy bastante nuevo en React y JS en general, y he estado trabajando en NextJS. Curiosamente, mi proyecto funciona bien cuando ejecuto next dev , pero falla cuando uso next build .

Obtuve el siguiente error:

 Error: React Hook "useFunction" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function. react-hooks/rules-of-hooks

Lo interesante de useFunction es que no es un gancho: lo defino como una función en el mismo archivo que un componente FunctionButton y lo uso como parte del controlador de eventos onClick

 const useFunction = async () => { const result = await someStuff(); return result } const FunctionButton = () => { return <Button onClick={() => useFunction()}>Click Me</Button>; }; export default FunctionButton;

¿Alguna idea de por qué esto no se está construyendo con éxito? ¡Gracias por adelantado!

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

0

La razón por la que piensa que useFunction es un gancho es porque así es como funcionan las verificaciones de pelusa de React. Se basan en el prefijo use para determinar que es un gancho:

Proporcionamos un complemento ESLint que hace cumplir las reglas de Hooks para evitar errores. Asume que cualquier función que comience con "use" y una letra mayúscula inmediatamente después es un Hook.

Entonces, simplemente porque su función comienza con use , React lo toma como un gancho. Una solución sería cambiar el nombre de su función o agregar un comentario eslint-ignore .

about 4 years ago · Juan Pablo Isaza Denunciar

0

React considera los archivos cuyo nombre comienza con la palabra use como ganchos aunque no lo sean.

Hay dos maneras de resolver el problema:

  1. simplemente cambie el nombre de su archivo. (no comienza con el use )
  2. agregue /* eslint-disable */ block comment en la parte superior del archivo.
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