React asombra otra vez con un nuevo hook
Si has trabajado en alguna aplicación de React o Next.js en el pasado, probablemente habrás notado que realizar varias cosas es muy poco intuitivo en general, especialmente cuando se trata de cómo manejar async. Lo que ha jugado un papel importante en cómo hemos obtenido los datos en nuestras aplicaciones react. Hasta ahora hemos utilizado useEffect, useSWR o más recientemente react-query. Pero ahora estamos recibiendo una nueva caracterÃstica emocionante en react que hará que todas las cosas async mucho más fácil, en especial la obtención de datos.
Por fin tenemos una forma nativa de manejar la funcionalidad asÃncrona en React. Esto significa que no necesitamos confiar en useEffect para obtener nuestros datos, sino que podemos crear una solicitud de obtención de axios y envolverla en un hook de uso.
Un buen ejemplo sobre su uso es el siguiente:
Esto obtendrá los datos de la entrada y los renderizará en la página. No se requiere useEffect ni ninguna otra biblioteca de manejo asÃncrono.
Al igual que await, desenvuelve el valor de una promesa, lo que significa que cualquier comportamiento asÃncrono puede ser envuelto en un gancho de uso ahora y react manejará nativamente la promesa por nosotros.
SÃ, asà es. Mientras que el gancho de uso es una gran adición a React, todavÃa no es un reemplazo para react-query. El gancho de uso sólo está destinado a manejar el comportamiento asÃncrono, no el almacenamiento en caché o cualquier otra caracterÃstica avanzada. Asà que si estás buscando una biblioteca de obtención de datos más avanzada, react-query sigue siendo el camino a seguir. Sin embargo, es un paso en la dirección correcta para el equipo de react y una adición bienvenida al ecosistema de react. No puedo esperar a ver lo que la comunidad hace con esta nueva caracterÃstica.
A diferencia de todos los demás hooks, el hook use parece soportar la ejecución condicional. Muy parecido a la opción enabled de react-query. Esto significa que podemos obtener datos basados en alguna condición. Esto, por supuesto, no es soportado por otros hooks. Una propuesta futura interesante en el RFC es que podemos envolver React Context en un hook de uso también. Lo que nos permitirÃa utilizar el contexto de una manera más declarativa. No estoy seguro de si esto llegará a la RFC final, pero es una idea interesante.
Esta es, de lejos, una de las mejores caracterÃsticas de react. No puedo esperar para usarlo en mi próximo proyecto. Estoy seguro de que veremos un montón de casos de uso interesantes para este nuevo gancho. Si estás interesado en aprender más sobre el uso del gancho, te recomiendo encarecidamente que consultes el RFC. Es una lectura muy interesante y es una gran visión de cómo el equipo de Reactor piensa en las nuevas caracterÃsticas.
No hay comentarios: