Neste post do blog, eu vou mostrar como usar o ReactJS Query para buscar dados de APIs e exibi-los no seu site e como gerar seu código ReactJS Query com o Apidog
O que é ReactJS Query e por que você deve usá-lo?
ReactJS Query é uma biblioteca que ajuda você a gerenciar a busca, cache e atualização de dados em suas aplicações React. Ela é baseada na ideia de consultas, que são funções que buscam dados de uma API ou qualquer outra fonte. O ReactJS Query lida com o carregamento, cache, nova busca e tratamento de erros dessas consultas para você, para que você não precise se preocupar com isso.
O ReactJS Query também fornece mutadores, que são funções que atualizam dados no servidor ou em qualquer outra fonte. O ReactJS Query trata das atualizações otimistas, reversão e tratamento de erros desses mutadores para você, para que você não precise se preocupar com isso também.
O ReactJS Query também se integra perfeitamente com o React, usando ganchos e componentes personalizados que permitem acessar e manipular dados em seus componentes. O ReactJS Query também suporta recursos como paginação, rolagem infinita, busca em segundo plano, consultas dependentes e muito mais.

Então, por que você deve usar o ReactJS Query? Aqui estão alguns dos benefícios de usar o ReactJS Query em suas aplicações React:
- Ele simplifica seu código: O ReactJS Query reduz a quantidade de código que você precisa escrever para buscar, armazenar em cache e atualizar dados em suas aplicações. Você não precisa usar Redux, Axios, SWR ou qualquer outra biblioteca para gerenciar dados. Você apenas usa o ReactJS Query e seus ganchos e componentes, e está tudo pronto.
- Ele melhora seu desempenho: O ReactJS Query otimiza o desempenho de suas aplicações armazenando dados em cache e evitando requisições desnecessárias. Ele também permite que você controle quando e com que frequência os dados são buscados novamente, e como os dados obsoletos são tratados. O ReactJS Query também suporta recursos como suspense, modo concorrente e pré-busca, o que pode melhorar ainda mais o desempenho da sua aplicação.
- Ele aprimora sua experiência do usuário: O ReactJS Query melhora a experiência do usuário de suas aplicações fornecendo carregamento e atualização de dados suaves e consistentes. Ele também permite que você personalize os estados de carregamento, erro e sucesso dos seus dados e ofereça feedback aos seus usuários. O ReactJS Query também suporta recursos como atualizações otimistas, que podem fazer sua aplicação parecer mais responsiva e interativa.
Como instalar e configurar o ReactJS
O ReactJS é uma biblioteca JavaScript para construir interfaces de usuário. Para instalar e configurar o ReactJS em seu computador, você pode seguir estas etapas:
- Etapa 1: Instale o Node.js, um ambiente de execução JavaScript, em seu computador. Você pode baixar o instalador do Node.js gratuitamente no site oficial. A versão de suporte a longo prazo (LTS) é recomendada, embora a versão atual tenha os recursos mais recentes.
- Etapa 2: Instale o ReactJS usando o create-react-app, uma ferramenta que instala todas as dependências para construir e executar uma aplicação ReactJS completa. Você pode usar
npm
ouyarn
, que são gerenciadores de pacotes para Node.js, para fazer isso. Por exemplo, você pode executar este comando no seu terminal:
npx create-react-app meu-app
Este comando criará um diretório chamado meu-app
dentro da pasta atual, gerando a estrutura inicial do projeto e instalando as dependências transitivas.
- Etapa 3: Inicie o servidor de desenvolvimento e abra seu aplicativo no navegador. Você pode usar
npm
ouyarn
para fazer isso. Por exemplo, você pode executar estes comandos no seu terminal:
cd meu-app
npm start
Esses comandos iniciarão o servidor de desenvolvimento e abrirão seu aplicativo no navegador em http://localhost:3000/. Você pode editar os arquivos na pasta src
e ver as mudanças no navegador.
É isso! Você instalou e configurou o ReactJS com sucesso em seu computador, e criou e executou seu primeiro aplicativo ReactJS. Você pode aprender mais sobre o ReactJS em seu site oficial, onde você pode encontrar a documentação, exemplos, tutoriais e mais.
Como criar e usar consultas com o ReactJS Query
Agora que você sabe como instalar e configurar o ReactJS Query, vamos ver como criar e usar consultas com o ReactJS Query. As consultas são o conceito central do ReactJS Query, e são a principal maneira de buscar e exibir dados de APIs.
Como vimos na seção anterior, você pode usar o useQuery
hook para criar e usar consultas em seus componentes React. O useQuery
hook recebe dois argumentos: uma chave de consulta e uma função de consulta. A chave de consulta é um identificador único para sua consulta, e a função de consulta é uma função que busca dados de um endpoint da API e retorna uma promessa.

O useQuery
hook retorna um objeto que contém as seguintes propriedades:
data
: Os dados que são buscados do endpoint da API. Éundefined
quando a consulta está carregando ou tem um erro.status
: O status da consulta. Pode ser um dos seguintes valores:'idle'
,'loading'
,'error'
ou'success'
.error
: O erro que é lançado pela função de consulta. Éundefined
quando a consulta está carregando ou teve sucesso.isIdle
: Um booleano que indica se a consulta está ociosa. Étrue
quando a consulta não está habilitada ou ainda não começou a buscar dados.isLoading
: Um booleano que indica se a consulta está carregando. Étrue
quando a consulta está buscando dados do endpoint da API.isError
: Um booleano que indica se a consulta tem um erro. Étrue
quando a função de consulta lança um erro ou rejeita a promessa.isSuccess
: Um booleano que indica se a consulta teve sucesso. Étrue
quando a função de consulta resolve a promessa e retorna os dados.
Como buscar dados com o ReactJS Query
A característica central do ReactJS Query é buscar dados com consultas. Consultas são funções que buscam dados de uma API ou qualquer outra fonte. O ReactJS Query fornece um gancho personalizado chamado useQuery, que permite usar consultas em seus componentes.
O gancho useQuery recebe dois argumentos: uma chave de consulta e uma função de consulta. A chave de consulta é um identificador único para sua consulta, que pode ser uma string ou um array. A função de consulta é uma função que retorna uma promessa que se resolve com os dados que você deseja buscar.
Por exemplo, digamos que você queira buscar uma lista de postagens de uma API falsa usando o ReactJS Query. Você pode criar uma função de consulta que usa a API fetch para obter os dados:
// Defina uma função de consulta que busca postagens
const fetchPosts = async () => {
// Use a API fetch para obter os dados
const response = await fetch('https://jsonplaceholder.typicode.com/posts')
// Analise a resposta como JSON
const data = await response.json()
// Retorne os dados
return data
}
Então, você pode usar o gancho useQuery em seu componente, passando a chave da consulta ‘posts’ e a função da consulta fetchPosts:
// Use o gancho useQuery para buscar postagens
const { data, isLoading, isError, error } = useQuery('posts', fetchPosts)
O gancho useQuery retorna um objeto com várias propriedades que você pode usar para acessar e manipular os dados. As mais importantes são:
- data: Os dados retornados pela função de consulta, ou indefinidos se a consulta está carregando ou tem um erro.
- isLoading: Um booleano que indica se a consulta está carregando ou não.
- isError: Um booleano que indica se a consulta tem um erro ou não.
- error: O objeto de erro retornado pela função de consulta, ou indefinido se a consulta está carregando ou não tem erro.
Você pode usar essas propriedades para renderizar seu componente com base no estado da consulta. Por exemplo, você pode mostrar um indicador de carregamento enquanto a consulta está carregando, uma mensagem de erro se a consulta tem um erro, ou uma lista de postagens se a consulta for bem-sucedida:
// Renderize o componente com base no estado da consulta
return (
<div>
{isLoading && <div>Carregando...</div>}
{isError && <div>Erro: {error.message}</div>}
{data && (
<ul>
{data.map(post => (
<li key={post.id}>{post.title}</li>
))}
</ul>
)}
</div>
)
É assim que você busca dados com o ReactJS Query. O ReactJS Query irá automaticamente armazenar os dados em cache para você, e buscará novamente quando o componente for montado, desmontado ou a chave da consulta mudar. Você também pode personalizar o comportamento da consulta usando várias opções, como staleTime, refetchOnWindowFocus, retry e mais. Você pode encontrar a lista completa de opções e suas descrições na documentação do ReactJS Query.

Como usar o Apidog para gerar código cliente ReactJS Query
Apidog é uma plataforma baseada na web que ajuda você a descobrir, testar e integrar APIs web com facilidade. Um dos recursos que o Apidog oferece é a capacidade de gerar código cliente Fetch com um clique, com base na especificação da API que você fornece ou seleciona.
- Clique no botão “Nova API” no painel ou selecione uma API existente na lista.

- Clique em “Gerar Código do Cliente”. O Apidog irá usar o mecanismo OpenAPI Generator para gerar o código cliente Fetch para sua API, correspondendo aos endpoints e estruturas de dados que você definiu ou selecionou.

- Você verá uma janela modal com o código gerado, que pode copiar para sua área de transferência.

Você pode usar o código gerado em seu próprio projeto ou modificá-lo como desejar. Você também pode testar o código com o servidor mock do Apidog, que simula as respostas da API com base em sua especificação.
Conclusão
O ReactJS Query é uma biblioteca poderosa e versátil que pode tornar nossa experiência de busca de dados muito mais fácil e melhor. Ele pode funcionar com qualquer endpoint de API que retorne dados JSON, e pode se integrar com qualquer componente ou biblioteca React.
Neste post do blog, aprendemos como usar o ReactJS Query para buscar dados de APIs e exibi-los em nosso site. Vimos como o ReactJS Query simplifica a busca e o cache de dados para aplicações React, e como gerar código ReactJS Query com Apidog. Obrigado por ler e feliz codificação!