Y este ejemplo, déjame refrescar para que el JavaScript desaparezca. Entonces, este ejemplo es esencialmente el mismo, ¿verdad? Puedo hacer clic en él y correr. Y como puedes ver, el JavaScript aparece cuando paso el cursor sobre él. La pregunta es, ¿en qué se diferencia? Así que vamos a ver.
Entonces, vale. La diferencia que voy a hacer aquí es que he construido el contador, pero observa que he movido el estado fuera del componente. Correcto, esto es típico de lo que harías, como cuando tienes un componente que, digamos un carrito de compras y un carrito de compras y un botón de añadir al carrito de compras, pones el estado en el padre común más bajo, ¿verdad? Y así, en este caso, lo que tengo es que tengo dos componentes, visualización e incrementador. Y la visualización solo muestra el recuento y el incrementador solo incrementa, ya sabes, llama al botón de devolución de llamada básicamente, es solo un botón glorificado. Y muevo el estado al padre, que resulta ser un componente rápido. Y al pasar el estado a, al tener el estado en el padre, ahora puedo pasar el estado tanto a una visualización como puedo pasar una devolución de llamada al incrementador, ¿verdad? Y de esta manera, puedo hacer que el incrementador hable entre sí. Y lo que quiero mostrarte es que no hay JavaScript presente aquí, ¿verdad? Cuando paso el cursor sobre este botón, el JavaScript para el botón aparece. Entonces, en este punto, despertamos el componente e hidratamos solo el botón. Así que déjame borrar esto por un segundo, para que puedas ver. Ahora si le doy a más uno, lo que descargamos fue solo un pedazo de code que era la devolución de llamada, solo el recuento más más, ¿verdad? Así que descargamos esta devolución de llamada y nada más, ¿verdad? Así que solo se descargó esta devolución de llamada. Pero una vez que modificamos la visualización, una vez que esta señal se modificó, el sistema fue como, oye, esta señal se está pasando a la visualización. Y como resultado, ahora también tenemos que despertar la visualización. Y así el segundo archivo que se descargó aquí es la visualización, y esto es solo el code de React para la visualización que se hidrata y se vuelve a renderizar, etc. para que el recuento se actualice. Y lo que realmente quiero mostrarte es esta comunicación entre islas. Y creo que esto es la clave, ¿verdad? Sin comunicación entre islas, las islas realmente no son tan útiles.
Vale, hagamos algo más divertido. Aquí hay un componente de deslizador. Aquí, déjame refrescar la UI de nuevo. Y entonces, veamos un deslizador. Deslizador. Bueno, lo que hice con el deslizador es que noté que simplemente tomé un material UI, como una biblioteca existente que es súper popular en Qwik, React, y lo envolví en un Quickify, y especificé las reglas bajo las cuales debería ser hidratado. Así que simplemente dije, ya sabes, cuando alguien pasa el cursor sobre esta cosa en particular, quiero que lo hidrates. O hay otras reglas. Puedes decir, puedes hacer un evento específico, como estoy desplazándome, o puedes decir que estoy visible, o algo así, pero vamos a hacer hover para nuestros propósitos. Y así, tomando este componente Quickify, puedo soltarlo aquí. Y también puedo tener una entrada regular, que es un componente estándar de HTML.
Comments