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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.