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

176
Views
El módulo del componente React (importado del repositorio local) provoca el error "Los ganchos solo se pueden llamar dentro del cuerpo de un componente de función".

Creé un módulo de componente de reacción e importé ese módulo a un proyecto de paquete web.

Actualmente estoy importando el componente desde mi repositorio local:

 npm install ~/git/repo-name

Lo hago porque volver a cargar el módulo en npm para probar cada cambio menor no sería viable.

El módulo del componente enumera react y react-dom como dependencias de pares en package.json, que puede ver aquí:

 { ...(name, version,etc)... "devDependencies": { "@babel/cli": "^7.16.0", "@babel/core": "^7.16.0", "@babel/preset-env": "^7.16.4", "@babel/preset-react": "^7.16.0" }, "dependencies": { "core-js": "^3.19.2", "regenerator-runtime": "^0.13.9" }, "peerDependencies": { "react": "^17.0.2", "react-dom": "^17.0.2" } }

Encontré esta pregunta de stackoverflow y la primera respuesta de la lista sonaba como el ticket. Sin embargo, después de que npm vincule las carpetas react y react-dom del componente en node_modules a las mismas carpetas en el directorio node_modules del proyecto webpack, sigo recibiendo el error.

Puedo rastrear el error hasta una línea en particular en el código modificado que Babel dispara cuando compilo el módulo del componente:

 var availableNetworkOptions = (0, _react.useRef)(null);

No entiendo esta sintaxis, pero puedo inferir que es parte de cómo babel transpila mi uso de "useRef" en mi archivo .js original (o al menos cómo intenta hacerlo). No puedo evitar preguntarme si esta extraña sintaxis podría tener algo que ver con el error. Parece poco probable, estoy seguro de que babel sabe lo que está haciendo. Por otro lado, parece que descarté el problema de "reacción duplicada" que parece ser una de las causas más comunes de este problema, o al menos lo he hecho hasta donde yo sé.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

No puede usar ganchos fuera de un componente, refactorizarlo y convertirlo en una función o usarlos en un componente base funcional o de clase

about 4 years ago · Juan Pablo Isaza Report

0

El problema era, de hecho, múltiples copias de reacción debido a que tanto el módulo del componente local como el proyecto que lo usaban tenían la reacción instalada. La solución a la que me vinculé (ver la primera respuesta) no funcionaba porque no estaba siguiendo las instrucciones correctamente.

Esas direcciones son:

 Below are the steps I followed : 1. In Your Application: a) cd node_modules/react && npm link b) cd node_modules/react-dom && npm link 2. In Your Library a) npm link react b) npm link react-dom 3)Stop your dev-server and do `npm start` again.

En cambio, para el paso 2 estaba haciendo:

 (in library) cd node_modules/react && npm link react cd ../react-dom && npm link react-dom
about 4 years ago · Juan Pablo Isaza 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!