Mi experiencia con el error de pasar de entrada no controlada a controlada

Guía para evitar la advertencia Changing from Uncontrolled input to Controlled en React: define value desde el inicio, usa defaultValue o String() y buenas prácticas con register y Controller para formularios robustos.

17 ago 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Mi experiencia personal con el error Changing from Uncontrolled input to Controlled

Cuando empecé a construir formularios en mi proyecto actual apareció este mensaje en la consola: A component is changing an uncontrolled input to be controlled. Esto se mostraba como una bandera roja cada vez que cargaba el formulario y fue la pista para encontrar un pequeño pero importante fallo de diseño.

La causa raíz

Un input no controlado pasa a ser controlado si su prop value cambia de undefined a un valor definido después del primer render.

Ejemplo del problema: <input value={formData.name} onChange={handleChange} />

Si formData.name es undefined al principio, React trata el input como no controlado. Cuando los datos se cargan y formData.name pasa a tener un valor como User, React detecta que el input ha cambiado de no controlado a controlado y lanza la advertencia.

Cómo lo solucioné

Me aseguré de que el value siempre estuviera definido incluso antes de que los datos terminaran de cargar. Por ejemplo: <input value={formData.name ?? String()} onChange={handleChange} />

Cuando uso React Hook Form es importante proporcionar defaultValue explícito para evitar este cambio de estado: <input {...register(fieldName)} defaultValue={String()} />

Para componentes controlados envueltos con Controller conviene inicializar defaultValue también: <Controller name={fieldName} control={control} defaultValue={String()} render={({ field }) => <InputText {...field} /> />

Lección aprendida

Decidir desde el principio si un input será controlado o no es clave. Si optas por controlado, inicializa value con una cadena vacía o con un valor por defecto razonable usando expresiones como String() en JSX para evitar undefined. Si optas por no controlado, evita bindear value y usa defaultValue o refs.

Cómo esto encaja con nuestro trabajo en Q2BSTUDIO

En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, aplicamos estas buenas prácticas en cada proyecto. Somos especialistas en inteligencia artificial ciberseguridad y servicios cloud aws y azure y desarrollamos soluciones de software a medida que incluyen formularios robustos y manejos de estado previsibles. También ofrecemos servicios de inteligencia de negocio implementaciones de power bi y agentes IA para integrar inteligencia artificial e IA para empresas en procesos productivos.

Evitar errores como el cambio de input no controlado a controlado ahorra tiempo de debugging y mejora la calidad del producto. En Q2BSTUDIO combinamos experiencia técnica en desarrollo de aplicaciones a medida con conocimientos en seguridad y servicios cloud para entregar soluciones escalables y seguras.

Si necesitas soporte en software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio o implementar agentes IA y power bi para tu empresa, en Q2BSTUDIO podemos ayudarte a diseñar formularios y componentes React siguiendo las mejores prácticas para evitar errores y optimizar la experiencia de usuario.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat