Y luego llegó React y nos trajo un panorama totalmente diferente donde todo estaba dentro de JavaScript, lo cual era muy agradable en ese momento y tenía mucho sentido, pero aún así, había algunas partes de este nuevo paradigma que no me convencían en absoluto. Así que al principio, teníamos clases, y era un poco complicado, un poco complicado, como puedes ver, ya sabes, para declarar una aplicación simple, tienes que pasar por todos esos estados. Y un poco verboso, un poco contraintuitivo ya que personalmente estaba más en un enfoque de estilo funcional, tener que lidiar con clases era bueno, pero no ideal. Pero luego, con el tiempo, React adoptó hooks, lo que para mí, hizo que todo encajara, tenía mucho sentido, tenemos una API más bien definida para controlar el estado, y era más explícito, era más simple de entender y crear aplicaciones.
Así que por primera vez, sentí que tenía lo necesario para crear experiencias muy asombrosas como la que te estoy mostrando. Para mí, React fue la solución que estaba buscando para crear mis aplicaciones web de una manera eficiente, de una manera fácil en la que pudiera crear declarativamente las interfaces que estaba tratando de hacer en ese momento. Pero si eres como yo, también te encuentras con este problema de que creas tu primera aplicación, estás muy emocionado, y luego vas a las herramientas de desarrollo, enciendes las actualizaciones, los resaltados, ¿y qué ves? Toda tu aplicación de React se convierte básicamente en un árbol de Navidad, donde en todas partes de tu aplicación, se está actualizando todo el tiempo con cada efecto con cada cambio.
Así que para entender por qué sucede esto, primero, necesitamos entender cómo se imaginó React al principio, y cómo llegó a ser. Básicamente, la forma en que React maneja las actualizaciones en nuestros componentes es que tenemos el componente padre, y cada vez que hay una actualización allí, haces clic en un botón, envías el formulario. Lo que sucede es que todos los hijos también reciben una actualización. Básicamente, si haces clic, digamos que envías un formulario, y tienes muchos hijos, porque los padres cambian, todos los hijos tienen que cambiar para asegurarse de que propagas el cambio a través de todas tus aplicaciones. Lo que nos hace pensar que React puede ser un poco sobrerreactivo a veces, lo cual estaba bien, pero a medida que creces tu aplicación, a medida que intentas crear cosas más complejas, definitivamente vas a ver que necesitamos más herramientas para hacer nuestras aplicaciones más rápidas y para asegurarnos de que actualizamos el estado solo cuando tenemos que hacerlo. Entonces, ¿cuáles son las opciones actuales que tenemos ahora mismo para este caso específico? Básicamente, podemos mirar nuestra aplicación aquí, donde tenemos una aplicación de comercio electrónico muy simple, y puedes ver aquí que creé este código de demostración, por cierto, solo para resaltar un caso simple donde podríamos aplicar algunas optimizaciones con las API actuales que tenemos disponibles en este momento.
Comments