todos los observadores que ha ocurrido alguna acción. Es bastante simple. Creamos un sujeto básico donde adjuntamos todos los observadores y utilizamos el método notify en este sujeto básico y notificamos a cualquier observador que ha ocurrido alguna acción, pero solo si el observador tiene el mismo tema. ¿Qué es el tema? El tema es simplemente una cadena simple, puedes verlo aquí, y es muy similar a los tipos de acción de Redux.
Selectores. Por supuesto, una de las grandes cosas de Recoil son los selectores, por lo que no necesitamos una biblioteca adicional de terceros, podemos usar los selectores tal cual, y como dije antes, los selectores representan el estado derivado. Podemos simplemente leer el estado o podemos leer y modificar algunos datos, por lo que podemos filtrar algo. Además, una gran ventaja aquí es que los selectores pueden ser síncronos y asíncronos, y es algo realmente bueno, y también se integra muy bien con React suspense. ¿Qué hay de la aplicación de React Native? Aquí puedes ver el estado de la vista de inicio de sesión para React Native, y es totalmente igual que el que usamos en la aplicación de React. Esto nos permite reutilizar toda la configuración de estado para las funciones de inicio de sesión, registro, olvido de contraseña y todo eso. Y luego podemos usarlo fácilmente en nuestra navegación, por ejemplo. Puedes ver que también usamos useRequireValue para obtener los datos y suscribirnos a las actualizaciones del estado. Lo mismo que necesitamos usar recoil route aquí también.
Antes de pasar a pruebas de recoil, me gustaría compartir un poco sobre la reutilización de la gestión de estado, en esta situación la gestión de estado con recoil en React Native. Tuve una buena experiencia moviendo características de estado compartido a una biblioteca separada, pero fue con Redux y ahora tenemos la idea de dividir lo mismo, quiero decir, extraer la gestión de estado que tenemos en las aplicaciones de React y React Native en una biblioteca separada y ya comenzamos a trabajar en esto, por lo que creamos una biblioteca que contendrá todos los átomos de recoil y también los selectores, todo lo que necesitamos para la función de inicio de sesión y autorización y todo eso, sí al menos extraemos una parte del estado sobre esas características que mencioné pero también continuamos buscando qué más podemos reutilizar sobre pruebas. Probar recoil es algo bastante sencillo, así que primero, recuerda usar recoil root en tus pruebas porque, por supuesto, necesitas envolver tu componente o aplicación con recoil root porque sin esto tendrás un error y primero, si necesitas probar algún componente de react, es decir, probar el átomo de recoil, me refiero al estado de recoil dentro del contexto del componente de react, entonces puedes usar el patrón de observador de recoil, no es parte de las utilidades de recoil, puedes crear un observador de recoil similar y luego puedes usarlo de esta manera y simplemente cambiar el estado y luego puedes observar qué estado se cambió y qué se cambió y y a veces necesitas probar tus selectores fuera del contexto de los componentes de react, por lo que puedes usar snapshot unstable. No estaba disponible en las primeras versiones de recoil, pero ahora está disponible y puedes generar instantáneas y luego puedes comparar el estado antiguo con el estado nuevo.
Entonces, un pequeño resumen. Recoil es una herramienta realmente buena pero aún experimental. Recoil se puede utilizar en react y react native. Antes, Redux era una herramienta muy famosa para aplicaciones de react native, pero hoy creo que ya tenemos una muy buena alternativa. Recoil es muy fácil de probar dentro de los contextos de react y fuera de ellos. Y en realidad me gusta mucho esta herramienta y es posible que en unos años realmente pueda reemplazar a Redux. ¿Qué opinas de esto? He compartido algunos enlaces aquí para que puedas consultar la documentación de recoil, es realmente buena y los autores de sus bibliotecas también han creado algunos videos de introducción sobre recoil y en los recursos de recoil.js puedes encontrar un enlace a un recurso bastante interesante sobre recoil, así que se creó un curso al respecto y es gratuito también estoy compartiendo un enlace al programa dhd america y un enlace a mi github donde planeo agregar el código simplificado, serán las mismas funcionalidades que usamos en react y react native en dhd pero por supuesto será simplificado y todos los datos relacionados con nuestro proyecto se eliminarán porque no proporcionamos nuestro código al público, al menos aún y gracias
Comments