El bug de los dos React: paquetes no singletons

¿Error 'Invalid hook call'? Descubre por qué tener dos copias de React causa este bug y cómo solucionarlo con peerDependencies y alias de bundler.

3 jul 2026 • 3 min read • Q2BSTUDIO Team

Causas y soluciones al error de hooks inválidos por múltiples React

En el desarrollo de software moderno, la gestión de dependencias esconde trampas sutiles que pueden paralizar un proyecto. Uno de los errores más emblemáticos es el famoso 'Invalid hook call' de React, el cual suele atribuirse a un mal uso de hooks, cuando en realidad su causa más común es la duplicación del propio paquete React en el árbol de dependencias. Este fenómeno no es exclusivo de React; es una manifestación de un problema estructural que afecta a cualquier librería que utilice estado a nivel de módulo, como contextos, clases de validación o incluso singletons internos.

El mecanismo interno de React se basa en un singleton compartido entre react y react-dom a través de un 'dispatcher' almacenado en el ámbito del módulo. Cuando una aplicación o una librería enlazada importa React desde una copia distinta, ese singleton nunca se inicializa, provocando el error. Lo mismo ocurre con los contextos: si un Provider se crea con una copia y un consumidor usa otra, el contexto simplemente no comunica, devolviendo valores por defecto sin advertencia alguna. Estos fallos silenciosos son aún más peligrosos porque no lanzan excepciones; se manifiestan como datos incorrectos que pueden pasar desapercibidos durante horas.

Las causas de estas duplicaciones son variadas: conflictos en rangos de versiones entre dependencias, el uso de npm link durante el desarrollo de librerías, la hoisting en monorepos, o incluso el hazard de paquetes duales (CJS/ESM) cargados simultáneamente. Herramientas como pnpm, al seguir estrictamente el modelo de peer dependencies, pueden generar múltiples instancias de un mismo paquete si diferentes partes del proyecto requieren versiones distintas. Incluso en entornos de module federation, es fácil duplicar React si no se declara como singleton compartido.

En Q2BSTUDIO, al desarrollar aplicaciones a medida, nos enfrentamos a estos desafíos a diario. Nuestro equipo implementa estrategias proactivas como la auditoría del árbol de dependencias con comandos como npm ls, la forzada de resolución única mediante resolve.dedupe en Vite o alias en Webpack, y la correcta declaración de peer dependencies en nuestras librerías. Por ejemplo, cuando trabajamos en proyectos de inteligencia artificial o agentes IA para empresas, la duplicación de una librería como TensorFlow o alguna dependencia de serialización puede romper inferencias completas. De igual forma, en servicios cloud AWS y Azure, un módulo duplicado puede provocar fallos en invocaciones serverless o en la inicialización de contenedores.

La ciberseguridad también se ve afectada: una clase de error duplicada puede invalidar comprobaciones instanceof, abriendo potenciales vectores de ataque. Por eso, en nuestros servicios de seguridad y pentesting revisamos la integridad de las dependencias. Asimismo, en el ámbito de inteligencia de negocio con Power BI y otras herramientas, la estabilidad de las integraciones depende de que las librerías compartidas sean las mismas a lo largo de toda la cadena. Nuestros servicios inteligencia de negocio incluyen la validación de entornos para evitar estos bugs silenciosos.

La lección fundamental es que en el ecosistema moderno, los paquetes no son singletons por defecto. Cada resolución de archivo genera una instancia independiente de módulo con su propio estado. Cualquier librería que mantenga estado a nivel de módulo (un dispatcher, un registro de contextos, una clase para instanceof) firma un contrato implícito de unicidad. Cuando ese contrato se rompe, los errores pueden ser confusos o silenciosos. En Q2BSTUDIO, entendemos que la calidad del software a medida pasa por dominar este tipo de detalles técnicos. Por ello, ofrecemos servicios cloud AWS y Azure que incluyen configuraciones de entornos de producción diseñadas para evitar duplicaciones, así como acompañamiento en la adopción de buenas prácticas como el uso de yalc en lugar de symlinks y la externalización de dependencias en bundles.

En conclusión, el bug de los dos React es solo la punta del iceberg. Conocer cómo funciona la resolución de módulos y aplicar herramientas de verificación temprana es esencial para cualquier equipo que desee construir software robusto, escalable y libre de fallos fantasma. En nuestra experiencia, invertir en esta comprensión ahorra jornadas de depuración y garantiza que las aplicaciones —ya sean de inteligencia artificial, business intelligence o automatización— funcionen como se espera en cualquier entorno.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat