Simplifique o gerenciamento de dados no React com o React Query

Apr 05 2023
React Query é uma biblioteca que simplifica o gerenciamento de dados em aplicativos React. Ele fornece um conjunto de ganchos e utilitários que tornam a busca, o cache e a atualização de dados fáceis e eficientes.
src: https://tkdodo.eu/blog/practical-react-query

React Query é uma biblioteca que simplifica o gerenciamento de dados em aplicativos React. Ele fornece um conjunto de ganchos e utilitários que tornam a busca, o cache e a atualização de dados fáceis e eficientes. Com o React Query, você pode reduzir a quantidade de código clichê necessário para lidar com dados em seus componentes React e tornar seu aplicativo mais eficiente.

Buscando dados com React Query

O React Query fornece um gancho chamado useQueryque facilita a busca de dados de um servidor. O useQueryhook pega uma função que retorna uma Promise que resolve com os dados. Quando você chama o gancho, o React Query gerencia automaticamente o carregamento e os estados de erro para você.

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>
  );
}

O React Query armazenará em cache automaticamente os dados retornados pela fetchDatafunção. Se você chamar o useQuerygancho novamente com a mesma chave de consulta, o React Query retornará os dados em cache em vez de buscá-los novamente.

Atualizando dados com React Query

O React Query também fornece um gancho chamado useMutationque facilita a atualização de dados em um servidor. O useMutationhook pega uma função que retorna uma Promise que resolve com os dados atualizados. Quando você chama o gancho, o React Query gerencia automaticamente o carregamento e os estados de erro para você.

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>
  );
}

Quando a mutatefunção for chamada com um objeto, o React Query enviará uma solicitação ao servidor com os dados atualizados. Se a solicitação for bem-sucedida, o React Query atualizará o cache com os novos dados.

Conclusão

O React Query é uma biblioteca poderosa que simplifica o gerenciamento de dados em aplicativos React. Com o React Query, você pode buscar e atualizar dados com facilidade, ao mesmo tempo em que reduz a quantidade de código clichê necessário para lidar com dados em seus componentes React. Esteja você criando um aplicativo simples ou complexo, o React Query pode ajudá-lo a tornar seu aplicativo mais eficiente e fácil de manter.

Saúde!!!