El término State lo estarás observando mucho cada vez que hablemos de Programación Funcional, por que tiene que ver o está involucrado con el principio de Inmutabilidad.
Un State puede ser cualquier cosa que cambie en el tiempo por ejemplo:
- Un Archivo
- Una Variable
- etc.
En Jetpack Compose buscaremos tener Composables Stateless que traducido es Sin Estado.
En esta clase vamos a repasar el concepto de Recomposition para entender cómo con los keywords remember
y rememberSaveable
podemos integrar una variable «mortal» al Recomposition Tree de un Composable, ya que lograr que un elemento se recomponga a partir de una acción no es tan sencillo como setear el dato de una variable a un elemento.
Una vez que entendemos cuál es el rol de las variables en Jetpack Compose, es importante que sepas cómo aplicar el Patrón de Diseño:
- State Hoisting
Este nos ayudará a crear Composables más inmutables o Stateless que sean más fáciles de testear. Te explico cómo hacer todo esto con un ejemplo en la clase 👇
Te dejo los slides y para que nunca se te olvide.
Aprendí un montón preparando esta clase, aplicando State Hoisting es muy fácil crear Composables que se puedan testear muy bien.
Cuentáme en los comentarios con tus palabras cómo le explicarías este concepto a otro programador?
Si te gustó esta clase no olvides compartirla haces un excelente trabajo divulgando conocimiento ⚡
Un composable no debería manejar lógica por ejemplo hacer cambios en una variable (estado).
Entonces con el patrón state hoisting, vengo con una grúa (con el sonido de grúa en movimiento, jaja, que genia Anahí) y extraigo ese estado con esa lógica a un orden superior (un stateholder).
Cuando ocurre un evento, por ejemplo el onclick de un botón, el evento sube hacia el orden superior, mientras que el estado y el compartimiento según el evento bajan «inyectándose» como una inyección de de dependencias.
Muy buena tu explicación Anahí! Saludos desde Argentina.
Excelente Pato! lo entendiste a la perfección!!
Gracias