Muy bien. Buenos días, Ámsterdam. Mi nombre es Marc Erickson, y estoy muy emocionado de compartir con ustedes una guía sobre la representación del compilador de React. Un par de cosas rápidas sobre mí. Soy un ingeniero de viaje en el tiempo senior en Replay, donde construimos un depurador de viaje en el tiempo para tanto humanos como agentes. Responderé preguntas en cualquier lugar donde haya un cuadro de texto en Internet. Ayudo a moderar las comunidades de React. Recolecto enlaces interesantes y hablo sobre ellos en lugares como el podcast This Month in React. Escribo publicaciones de blog extremadamente largas. Recientemente escribí un artículo sobre mi propia experiencia emocional usando IA, así como mi flujo de trabajo, y soy un mantenedor de Redux. Hace casi exactamente diez años que he estado trabajando en Redux. Pero también la mayoría de la gente me conoce como ese tipo con el avatar de los Simpsons, que en realidad ahora está ligeramente desactualizado. Me hice LASIK en enero.
¿Por qué estamos hablando de la representación de React hoy? Soy un firme creyente de que es importante conocer los fundamentos de las herramientas que estamos usando, y eso es aún más cierto en una era de IA. Incluso hoy, veo a muchas personas con conceptos erróneos sobre cómo React realmente funciona. Cuando hablamos del compilador de React, voltea parte de ese comportamiento predeterminado al revés. Necesitas asegurarte de entender los fundamentos primero. Y esto es realmente ciencia, no magia. Así que los objetivos para hoy, pasaremos algún tiempo revisando algunos fundamentos del comportamiento de React, vamos a ver las opciones que tenemos disponibles para optimizar el rendimiento de React, veremos lo que hace el compilador y cómo se ve la salida, y luego terminaremos hablando sobre cómo cambia nuestro modelo mental de cómo usar React. Las diapositivas están en mi blog, blog.isquaredsoftware.com, y tendré el enlace allí nuevamente al final.
De vuelta al principio. ¿Qué es la representación? La representación es el proceso de React preguntando a tus componentes, ¿cómo quieres que se vea la interfaz de usuario en este momento? Normalmente, la salida de la representación se basa en los props actuales y el estado de ese componente. Cuando escribimos componentes, escribimos esta sintaxis de corchetes angulares JSX que hemos visto y todos conocemos y amamos, y cuando escribimos la sintaxis JSX en nuestro código, en tiempo de compilación, eso se convierte en llamadas a create element, y luego en tiempo de ejecución, tu componente se ejecuta, llama a create element, y devuelve estos objetos de elemento que tienen el componente y sus props y los hijos. Si alguna vez has escuchado el término DOM virtual, eso realmente solo describe estos objetos de elemento. Así que durante una representación, React recorre todos tus componentes, recopila todos los objetos de elemento en un árbol, y luego compara los árboles de elementos antiguos y nuevos para averiguar, ¿estás pidiendo algo diferente en la interfaz de usuario esta vez? Ahora, un punto muy, muy importante, si hay algo que recuerdes, por favor recuerda esta diapositiva justo aquí. El comportamiento predeterminado de React es que cuando representas en un componente, llamas a set state, React seguirá recursando a través de todos los hijos debajo de eso. Así que si llamo a set state en el componente de la aplicación allá arriba, continuará a través de los cuatro hijos debajo de eso. Si llamo a set state en el componente de inspiración, también representará los dos hijos debajo de eso. Sigue bajando a través de todos los hijos debajo. Ahora, cuando representamos, esto no siempre significa que hay una actualización en el DOM.
Comments