Wallant, el estado sencillo para React Native

Avatar

No sé ustedes, pero siempre me pareció que Redux no es la cosa más genial del mundo, con esta idea en mente me di a la tarea de crear un contenedor de estado que fuera mucho más simple, y con ciertas características siempre deseé.

npm i -s wallantGitHub

wallant flow darta

El flujo de los datos en el estado está mejorado con 3 módulos que te harán la vida mucho más simple: computed, validate, y persitant.

Validate state

Wallant validate

Puedes definir una propiedad validate en el store, código explicado aquí.

Validate previene que el estado se altere si una condición no se cumple, por ejemplo: puedes definir que un valor del state sea solo numérico o un contador no aumente a más de 10, o que no se guarden datos si contienen contienen cierta información.

Computed state

Wallant computed

Los datos computados permiten consumir otros datos del state, transformarlos y exponerlos como datos nuevos, por ejemplo.

Podrías, tomar una lista de usuarios, ordenarlos por edad, reestructurar y exponerlos en el estado, dejando tu vista libre de algoritmos, como debe ser.

Persistant state

Wallant persistant state

El estado persistente es una de mis capacidades favoritas.

Si está definido como true, ver aquí, cada vez que el estado se actualice, Wallant guardará una copia en la memoria del teléfono y esta copia será restaurada cada que la app se abra.

Wallant es la forma más fácil de manejar el estado de la aplicación, esto no es todo, estamos trabajando para añadir mejoras, espera pronto un par de sorpresas más. Te invito que lo pruebes por ti mismo, y nos apoyes en GitHub .

Wallant

Avatar

Buenisimo, la verdad, redux me parece un poco complicado, en mi caso, conozco vuex de vue y me parece genial. Espero que Wallant sea parecido a vuex. Saludos!

Necesitas iniciar sesión para responder.
Avatar

Me inspiré en Vuex de hecho, jaja, solo que funciona en React Native (no funciona en React Web, por la persistencia de datos, uso AsyncStorage) : )

Necesitas iniciar sesión para responder.Necesitas iniciar sesión para responder.
Avatar

Es posible, sería reemplazar la implementación de AsyncStorage por localStorage, y mover un par de cosas aquí y allá, un día que me agarre libre lo aplico (y)

Necesitas iniciar sesión para responder.
Avatar

Wow super chevere tu proyecto lo usaré en un proyecto personal, felicidades

Necesitas iniciar sesión para responder.
Avatar

Muy buen aporte, por el momento junto a lo que pude leer en los comentarios aun no esta para web :( mientras tanto Redux.

Necesitas iniciar sesión para responder.
Necesitas iniciar sesión para responder.