# React

> Una biblioteca de JavaScript para armar pantallas con piezas reutilizables: componentes.

- Nivel: Intermedio
- Temas: Software
- URL: https://tidbit.legios.com.ar/es/react/
- En inglés: [React](https://tidbit.legios.com.ar/react/)

**React** es una biblioteca de JavaScript para construir interfaces, creada en Facebook y liberada como código abierto en 2013. En vez de escribir una página gigante, armás **componentes** chiquitos: un botón, un comentario, la tarjeta de un producto. Cada uno es una función que recibe datos y devuelve lo que tiene que aparecer en pantalla, y los componentes se meten unos dentro de otros hasta formar apps enteras.

La idea central es que vos describís cómo tiene que verse la pantalla con los datos actuales, y React se encarga de calcular qué cambiar. Cuando pasa algo, como que llega un mensaje nuevo o alguien pone un like, actualizás los datos, que se llaman **estado** (state), y React vuelve a dibujar solo las partes de la página que dependen de eso. Los componentes casi siempre se escriben en **JSX**, una sintaxis que mezcla etiquetas parecidas a HTML con JavaScript.

React es una de las herramientas más usadas para el frontend, y alrededor creció un ecosistema enorme. Frameworks como Next.js le suman rutas y renderizado en el servidor, y React Native usa las mismas ideas para hacer apps móviles. React en sí es una biblioteca, no un framework completo, así que cada equipo igual elige otras piezas, como la forma de traer datos o de manejar formularios.

## Una analogía

Un LEGO para pantallas. Diseñás unos pocos tipos de ladrillo una vez, los encastrás para armar cualquier cosa y, cuando una parte tiene que cambiar, cambiás ese ladrillo en vez de rearmar todo el castillo.

## Para quedarse

- React arma interfaces con componentes reutilizables.
- Cambiás los datos (el estado) y React actualiza la pantalla para que coincida.
- JSX te deja escribir etiquetas parecidas a HTML dentro de JavaScript.
- Nació en Facebook, es de código abierto y lo mantiene Meta.

## Para seguir leyendo

- [React (sitio oficial en español)](https://es.react.dev/)
- [Aprendé React (documentación oficial)](https://es.react.dev/learn)

## Términos relacionados

- [JavaScript](https://tidbit.legios.com.ar/es/javascript/): El lenguaje de programación que corre en las páginas web y las vuelve interactivas.
- [Meta](https://tidbit.legios.com.ar/es/meta/): La empresa detrás de Facebook, Instagram y WhatsApp, financiada con publicidad.
- [Código abierto](https://tidbit.legios.com.ar/es/open-source/): Software cuyo código cualquiera puede leer, usar, cambiar y compartir.
- [HTML](https://tidbit.legios.com.ar/es/html/): El formato de texto que describe qué hay en una página web: títulos, párrafos, links.
- [Frontend y backend](https://tidbit.legios.com.ar/es/frontend-and-backend/): La parte de una app que ves y tocás, y la parte que trabaja detrás.
- [Framework](https://tidbit.legios.com.ar/es/framework/): Un esqueleto ya armado para una app: define la estructura y llama a tu código.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [App móvil](https://tidbit.legios.com.ar/es/mobile-app/): Un programa hecho para correr en un celular o tablet, casi siempre bajado de una tienda.
