para construir Interfaces de Usuario (UI). La mayoría lo usamos como la V del modelo MVC. ¿Por qué React? Creado por Facebook React está diseñado para resolver un problema: construir grandes aplicaciones con datos que cambian con el tiempo. Extensamente utilizado en productos hechos por Facebook (ej: Instagram) Pensado para simplificar el proceso de montar UIs complejas.
• …renderizar contenido en una página • …comunicar componentes entre sí • …gestionar eventos del usuario • …capturar input del usuario • …comunicarse con un servidor remoto Abarcaremos algunas de las funcionalidades de React, entre ellas, cómo…
Si un componente se vuelve muy complejo, lo desglosamos en componentes pequeños, más sencillos. “Divide et impera” —César Componente Main Componente Photo (se reutiliza) Componente Comments (también se reutiliza)
se parece a una función de JavaScript: genera un output cada vez que es invocado. Output #1 Output #2 Llamar a render() genera esto Llamar a render() genera esto
en memoria de elementos reales del DOM generados por componentes de React antes de recibir cambios. Virtual DOM HTML Representación en memoria de lo que se convertirán en elementos del DOM Elementos reales renderizados por el navegador
virtual DOM le permite a React minimizar los cambios al DOM como resultado de las acciones del usuario, permitiendo así mejorar el rendimiento del navegador. Sólo cambia este párrafo… …y sólo se reemplaza ese párrafo. Primer render Segundo render Virtual DOM HTML Virtual DOM HTML
de JavaScript que heredan de la clase base React.Component. Ahora debemos decirle a la App dónde queremos el output en la web. Los componentes empiezan por mayúscula Todo componente requiere una función render() No hacen falta comillas - que no cunda el pánico! La clase Component hereda de la clase base React
página HTML al leer el output del componente de React y añadirlo al DOM. Invocamos al componente Main - recuerda: sin comillas! Elemento contenedor en el que finalmente se renderizará el componente
cosas, esto es lo que pasa cuando se carga la página con un componente de React. Primero, se carga el HTML estático… Virtual DOM …luego se carga React y todos nuestros componentes… …después, ReactDOM renderiza el componente… …devolviendo una representación virtual del DOM, que se acaba convirtiendo en elementos reales del DOM.
construir grandes aplicaciones con datos que cambian con el tiempo. • En React, creamos aplicaciones en términos de componentes. • Utilizamos clases de JavaScript para declarar componentes de React. • Los componentes deben extender la clase React.Component y contener un método render(). • Llamamos a la función ReactDOM.render() para renderizar componentes en una página web.
cuando escribimos aplicaciones de React no es un string. A este marcado se le llama JSX (JavaScript XML). Los elementos de HTML se escriben siempre en minúscula Los componentes de React se escriben siempre en mayúscula (PascalCase)
se acaba transformando en JavaScript. Código JavaScript resultante ¡Atención! Usamos el atributo className, y nunca class, que es una palabra reservada en JavaScript.
marcado de JSX parece HTML pero se transpila a llamadas a funciones de JavaScript, que React sabrá cómo renderizar en la página. • El coding escrito entre llaves ({}) se interpreta como JavaScript. • Es un patrón común mapear Arrays en elementos de JSX.