anncode

[Android Native, Kotlin, Geek & Teacher]

🏋️‍♀️ State Hoisting with Jetpack Compose

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 ⚡

2 thoughts on “🏋️‍♀️ State Hoisting with Jetpack Compose

  1. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.