Es limitado. La UI es básicamente solo un bucle que hace las cosas, y no voy a entrar en cómo el renderizado de grano fino es increíble aquí. Pero en general, si entro aquí y agrego algo de código y digo, oye, ya sabes, hace lo que tiene que hacer, ¿verdad? Si podemos marcar estas casillas, podemos eliminarlo. Esta es una aplicación bastante estándar, y básicamente, como esperas, simplemente, haces algunas mutaciones en la store. Agregas una tarea, filtras la tarea, la encuentras y la marcas como completada. Esto es bastante sencillo.
Pero ahora, ¿qué pasa si queremos hacerlo asincrónico? Ahora, si tuviera más tiempo, realmente haría este código en vivo, pero como no lo tengo, voy a simplemente adelantarme y mostrar las herramientas que hicimos hoy con una demostración funcional. Así que hacemos un par de cosas. Ahora, he creado un servidor, y el servidor es solo una especie de simulación. Es solo un array en otro archivo con algunos retrasos. Pero en general, los he expuesto a través de esta cosa de DB. Así que básicamente, ahora lo que hacemos es obtener nuestros datos del servidor, vamos a db.get to-dos en nuestro create async. Y luego derivamos nuestra store de estos datos.
Hice otra pequeña cosa, a la que llamé esto una store optimista, porque quiero actualizaciones optimistas. Si no hiciera esto, no tendríamos las actualizaciones optimistas. Pero pude tomar el mismo código exacto que escribimos anteriormente, como el set to-dos, el filtro, y mantener eso en nuestro ejemplo. Y luego simplemente envolver ese código en una transición. También soportamos funciones asincrónicas, pero tienes que hacer esta cosa divertida donde llamas start transition hoy, porque no tenemos contexto asincrónico, si alguna vez has visto alguna de las demostraciones de React recientemente. Así que solo voy a usar la forma de generador. Todavía estamos jugando con las APIs.
Comments