Introducción a React y su modelo declarativo: interfaces como función del estado, renderizado, componentes, reconciliación y separación entre descripción y efectos.
Última actualización
Actualizada
Nivel
Fundamentos
React es una biblioteca para construir interfaces a partir de datos. Su idea central no es “escribir menos DOM”, sino describir qué interfaz corresponde a cada estado y permitir que React coordine las actualizaciones.
Las interfaces reales acumulan estados relacionados: carga, datos, errores, filtros, permisos, formularios y navegación. Cuando cada transición modifica manualmente distintos nodos del DOM, es fácil que la pantalla quede inconsistente.
React propone que la interfaz sea una consecuencia de los datos actuales. El componente calcula el resultado visual y React se encarga de coordinar cómo aplicarlo al entorno de destino.
TypeScript
functionOrderStatus({ status }:{ status:"pending"|"paid"|"cancelled"}){if(status ==="pending")return<p>Pago pendiente</p>;if(status ==="paid")return<p>Pago confirmado</p>;return<p>Pedido cancelado</p>;}
No existe una instrucción que busque el párrafo anterior y cambie su texto. El resultado depende directamente de status.
Puedes ensamblar estas decisiones manualmente o utilizar un framework construido sobre React. El notebook de Next.js cubre routing, rendering por ruta, integración de servidor y despliegue del framework.
Los componentes propios pueden devolver elementos host como button, form, section o img. React utiliza el árbol para coordinar datos, identidad, contexto y actualizaciones.
React calcula un siguiente árbol de elementos, compara tipos, posiciones y keys, y decide qué trabajo debe aplicar. Esa reconciliación evita mutaciones innecesarias, pero no convierte cualquier aplicación en rápida.
También importan:
Cantidad y coste de los renders.
Trabajo realizado dentro de cada componente.
Tamaño del bundle.
Consultas de red.
Layout y paint del navegador.
Imágenes, fuentes y CSS.
Listas grandes.
Actualizaciones demasiado frecuentes.
Un render de React tampoco significa que todo el DOM haya cambiado.
Una página pequeña, principalmente estática y con pocas interacciones puede resolverse mejor con HTML, CSS y JavaScript directo. Introducir React añade dependencias, tooling, JavaScript enviado al cliente y una capa conceptual adicional.
La pregunta no es “¿se puede hacer con React?”, sino “¿el modelo de componentes y estado compensa el coste para este producto?”.