Simplifique la gestión de datos en React con React Query

Apr 05 2023
React Query es una biblioteca que simplifica la gestión de datos en aplicaciones React. Proporciona un conjunto de enlaces y utilidades que hacen que la obtención, el almacenamiento en caché y la actualización de datos sean fáciles y eficientes.
fuente: https://tkdodo.eu/blog/practical-react-query

React Query es una biblioteca que simplifica la gestión de datos en aplicaciones React. Proporciona un conjunto de enlaces y utilidades que hacen que la obtención, el almacenamiento en caché y la actualización de datos sean fáciles y eficientes. Con React Query, puede reducir la cantidad de código repetitivo necesario para manejar datos en sus componentes de React y hacer que su aplicación tenga un mayor rendimiento.

Obtener datos con React Query

React Query proporciona un gancho llamado useQueryque facilita la obtención de datos de un servidor. El useQuerygancho toma una función que devuelve una Promesa que se resuelve con los datos. Cuando llame al gancho, React Query administrará automáticamente los estados de carga y error por usted.

import { useQuery } from 'react-query';

function MyComponent() {
  const { isLoading, error, data } = useQuery('myData', fetchData);

  if (isLoading) {
    return <div>Loading...</div>;
  }

  if (error) {
    return <div>Error: {error.message}</div>;
  }

  return (
    <div>
      {data.map((item) => (
        <div key={item.id}>{item.name}</div>
      ))}
    </div>
  );
}

React Query almacenará automáticamente en caché los datos devueltos por la fetchDatafunción. Si useQueryvuelve a llamar al enlace con la misma clave de consulta, React Query devolverá los datos almacenados en caché en lugar de recuperarlos nuevamente.

Actualización de datos con React Query

React Query también proporciona un gancho llamado useMutationque facilita la actualización de datos en un servidor. El useMutationgancho toma una función que devuelve una Promesa que resuelve con los datos actualizados. Cuando llame al gancho, React Query administrará automáticamente los estados de carga y error por usted.

import { useMutation } from 'react-query';

function MyComponent() {
  const [mutate, { isLoading, error, data }] = useMutation(updateData);

  const handleButtonClick = () => {
    mutate({ id: 123, name: 'New Name' });
  };

  if (isLoading) {
    return <div>Loading...</div>;
  }

  if (error) {
    return <div>Error: {error.message}</div>;
  }

  return (
    <div>
      <button onClick={handleButtonClick}>Update Data</button>
      {data.map((item) => (
        <div key={item.id}>{item.name}</div>
      ))}
    </div>
  );
}

Cuando mutatese llama a la función con un objeto, React Query enviará una solicitud al servidor con los datos actualizados. Si la solicitud es exitosa, React Query actualizará el caché con los nuevos datos.

Conclusión

React Query es una poderosa biblioteca que simplifica la gestión de datos en las aplicaciones React. Con React Query, puede obtener y actualizar datos con facilidad, al mismo tiempo que reduce la cantidad de código repetitivo necesario para manejar datos en sus componentes de React. Ya sea que esté creando una aplicación simple o compleja, React Query puede ayudarlo a hacer que su aplicación sea más eficiente y fácil de mantener.

¡¡¡Salud!!!