Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

234
Views
Error de React Hooks: los ganchos solo se pueden llamar dentro del cuerpo de un componente de función

Recibo este error cuando uso el useState . Tengo esto en su forma básica, mirando los documentos de reacción para obtener una referencia, pero sigo recibiendo este error. Estoy listo para el momento de la palma de la mano...

 export function Header() { const [count, setCount] = useState(0) return <span>header</span> }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Actualizado: 2018-diciembre

Ya está disponible la nueva versión de react-hot-loader , enlace . Hooks ahora está trabajando fuera de la caja. Gracias al autor, theKashey.

Echa un vistazo a este modelo https://github.com/ReeganExE/react-hooks-boilerplate

  • Ganchos de reacción
  • Reaccionar cargador caliente
  • Webpack, Babel, ESLint Airbnb

Respuesta anterior:

Primero, asegúrese de haber instalado react@next y react-dom@next .

Luego verifique si está usando react-hot-loader o no.

En mi caso, deshabilite el cargador en caliente y HMR podría hacer que funcione.

Consulte https://github.com/gaearon/react-hot-loader/issues/1088 .

citado:

Sí. RHL es 100% no compatible con anzuelos. Solo hay algunas razones detrás de esto:

SFC se están convirtiendo en componentes de clase. Hay una razón: poder forzar la actualización en HMR, siempre que no haya un método de "actualización" en SFC. Estoy buscando otra forma de forzar la actualización (como esta. Entonces RHL está matando a SFC.

"procesamiento de reemplazo en caliente". RHL está tratando de hacer el trabajo de React y renderizar la aplicación antigua y la nueva para fusionarlas. Entonces, obviamente, eso está roto ahora.

Voy a redactar un PR, para mitigar ambos problemas. Funcionará, pero no hoy.

Hay una solución más adecuada, que funcionaría: API fría

Puede deshabilitar RHL para cualquier tipo personalizado.

 import { cold } from 'react-hot-loader'; cold(MyComponent);

Busque "useState/useEffect" dentro del código fuente del componente y "frío".

Actualizado:

Según la actualización del mantenedor de react-hot-loader, puede probar react-hot-loader@next y establecer la configuración de la siguiente manera:

 import { setConfig } from 'react-hot-loader'; setConfig({ // set this flag to support SFC if patch is not landed pureSFC: true });

Gracias a @loganfromlogan por la actualización.

over 4 years ago · Santiago Trujillo Report

0

Mi problema fue olvidar actualizar el módulo react-dom . Ver problema .

over 4 years ago · Santiago Trujillo Report

0

Tenía el mismo problema. Mi problema estaba relacionado con React Router. accidentalmente había usado

 <Route render={ComponentUsingHooks} />

en vez de

 <Route component={ComponentUsingHooks} />
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!