A Melhor Biblioteca já Criada! #Programação #ReactJS #ReactNative #ReactQuery #JavaScript #TypeScript

Posted by


Há muitas bibliotecas incríveis disponíveis para desenvolvedores de front-end e uma delas é a ReactQuery. A ReactQuery é uma biblioteca essencial para gerenciamento de estado e cache de dados em aplicações React e React Native. Ela oferece uma maneira simples e eficiente de buscar, armazenar em cache e atualizar dados, além de fornecer funcionalidades avançadas como controle de refetching, paginapros, otimização de redes e muito mais.

Neste tutorial, vamos nos aprofundar na biblioteca ReactQuery e discutir como ela pode ser usada em projetos React e React Native. Vamos ver como instalar a biblioteca, como configurá-la e como usá-la para realizar operações com dados de forma eficiente.

Instalação

Para começar a usar a ReactQuery em seu projeto React ou React Native, você precisa instalar a biblioteca primeiro. Você pode instalar a ReactQuery usando o npm ou yarn. Abra o seu terminal e execute o seguinte comando:

npm install react-query
# ou
yarn add react-query

Depois de instalar a biblioteca, você pode começar a importá-la em seus arquivos de código.

Configuração

Agora que você instalou a ReactQuery em seu projeto, é hora de configurá-la. Para isso, você precisa envolver sua aplicação em um <QueryClientProvider> e fornecer um objeto QueryClient com as configurações desejadas. Você pode fazer isso no arquivo raiz de sua aplicação, geralmente index.js ou App.js.

import { QueryClient, QueryClientProvider } from 'react-query';

const queryClient = new QueryClient();

ReactDOM.render(
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>,
  document.getElementById('root')
);

Com essa configuração básica, a ReactQuery está pronta para ser usada em todo o seu aplicativo.

Uso Básico

A ReactQuery oferece diversos hooks personalizados que facilitam a interação com dados, como useQuery para buscar dados e useMutation para realizar mutações. Vamos ver um exemplo simples de como buscar dados usando useQuery.

import { useQuery } from 'react-query';

const fetchData = async () => {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
};

const MyComponent = () => {
  const { data, isLoading, isError } = useQuery('myData', fetchData);

  if (isLoading) return <p>Carregando...</p>;

  if (isError) return <p>Ocorreu um erro ao carregar os dados.</p>;

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

Neste exemplo, usamos o hook useQuery para buscar dados da API https://api.example.com/data e exibir os resultados na tela. O hook gerencia automaticamente o estado de carregamento e erro dos dados, facilitando a lógica de exibição condicional.

Recursos Avançados

Além dos recursos básicos, a ReactQuery oferece uma variedade de recursos avançados para otimização de desempenho e gerenciamento de dados complexos. Alguns dos recursos avançados incluem:

  • Queries reativas: A ReactQuery automaticamente reexecuta as queries quando as dependências mudam, garantindo que os dados estejam sempre atualizados.
  • Paginação: A biblioteca facilita a implementação de paginação de dados, tornando mais fácil lidar com grandes conjuntos de dados.
  • Mutations otimistas: A ReactQuery suporta mutations otimistas, permitindo que você atualize a interface do usuário de forma otimista antes de obter a confirmação do servidor.

Esses são apenas alguns dos recursos avançados oferecidos pela ReactQuery. Para saber mais, consulte a documentação oficial da biblioteca em https://react-query.tanstack.com/.

Com a ReactQuery, você pode melhorar significativamente o gerenciamento de estado e cache de dados em suas aplicações React e React Native. Experimente a biblioteca em seu próximo projeto e veja como ela pode facilitar o desenvolvimento de aplicações modernas e eficientes.

0 0 votes
Article Rating
42 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@Coffstack
2 months ago

Pessoal as linhas estão comentadas pq eu já tinha substituído, deixei comentado só para mostrar a diferença. Vc pode ver mais pra frente no vídeo, quando mostro a diferença do Git o que está em vermelho é o que foi removido e não esta comentado. Tem o tutorial completo aqui no canal, eu fazendo passo a passo do zero: https://youtu.be/mo7MZFYYzWM

@AndersonMacedo-qf5xd
2 months ago

Isso é fantástico mesmo. Mas não concordo muito com isso. Vai chegar um momento em que o programador não vai mais ser programador kkkk. Mas enfim é a vida

@GirlenoLima-v6j
2 months ago

Não existe almoço de graça.

@coropor
2 months ago

Tem 5 anos que eu uso um hook que criei que é muito parecido com essa lib.

A pergunta é, se ele faz só isso você realmente deveria ter ele no teu bundle?

Nesse caso eu optaria pelo SWR que além de ser agnóstico ao framework/biblioteca ainda reidrata a página no focus, utiliza interface otimista e te dá controle de quando revalidar os dados.

Mas não manjo de react-query para saber oq seria mais útil.

@luiz10868
2 months ago

KKKKKKKKKK mano e ainda jungam o PHP hahahah isso tem a varios anos atras

@maxsuellima7488
2 months ago

Não precisa baixar uma lib pra isso, isso é um hook extremamente simples

@thiagobaia262
2 months ago

Funciona no React Native ??

@lucasb.v.9348
2 months ago

uai

@FranciscoSilva-sv9hz
2 months ago

Você remove linhas de código e adiciona uma lib. Sua vida será facilitada, mas dependendo da quantidade de request que isso recebe seu ganho performático vai pro saco.

@apenasumcanal23
2 months ago

🎉🎉O pai te escolheu como filho, amado. nada vai tirar esse amor dele por você
Romanos 8:38-39

Provérbios 3:14
Reconhece-o em todos os seus caminhos e ele endireitará suas veredas.

Salmos 91:11
Porque a seus anjos ele dará ordens a seu respeito, para que o protejam em todos os seus caminhos.

Exodo 15:1
Então entoou Moisés e os filhos de Israel este cântico ao Senhor:
Cantarei ao Senhor porque triunfou gloriosamente e lançou no mar o cavalo e o seu cavaleiro

Provérbios 16:3
Consagre ao Senhor tudo o que você faz e os seus planos serão bem sucedidos

Jeremias 33:3
Clama-me e eu responderei e lhe mostrarei coisas grandes e firmes que não conhecem.

Atos 1:8
Porém,quando o Espírito Santo descer sobre vocês, vocês receberão poder e serão minhas testemunhas em Jerusalém e em toda Judéia e Samaria e nos lugares mais distantes da terra

1 Pedro 5:7
Lançando sobre ele toda a vossa ansiedade, porque ele tem cuidado de vós

João 14:1
Não permitais que o vosso coração se preocupe. Credes em Deus, crede também em mim

O pai que é Deus te amou, e ele quer apenas o seu coração portanto entregue-se❤❤🎉❤

🎉🎉🎉❤Provérbios 16:1-3
1. Do homem são as preparações do coração, mas do Senhor é a resposta da língua.
2. Todos os caminhos do homem são puros aos seus olhos, mas o Senhor pesa o Espírito.
3. Confia ao Senhor as suas obras e os teus pensamentos serão estabelecidos.🎉🎉🎉

@Maskarado
2 months ago

Realmente, react query da uma simplificada, porem dava para fazer um custom hook bem melhor q essa porqueira ai com uma funcionalidade identica ao react query kkkk

@oBMarques
2 months ago

POW se for só pra contar quantidades de linhas no componente era só exporta a função para outro módulo ^reactQuery é muito útil mais não só para reduzir linha! Pá aí vc só mandou elas para a pasta node_modules e muitas linhares de linhas junto. Se é algo simples como no exemplo é igual atirar uma letleFet numa formiga

@viniciusbernardo2112
2 months ago

Por curiosidade, qual o tamanho daquela linha ali ? Pq tá dando um overflow horizontal monstro e talvez por boas práticas seria melhor deixar a expressão quebrar a linha para futuras manutenções/ajustes.

@nekolaix8590
2 months ago

JavaScript e tão ruim q temq aprender mil frameworks diferentes que reiventam a roda pra não durarem 6 meses de manutenção q perde hype kkkjk

@vifigueiredo94
2 months ago

vão todo mundo pro vue que os problemas acabam u.u

@thiagoramosdefreitas3161
2 months ago

mas nao fica mais dificil pra manutenção ?

@evertonf.costasouza3692
2 months ago

Na verdade está errado pois tem chamada mas fica no contexto aonde declara e fala que eh uma linha eh de matar , o react query eh uma mão na roda em vários aspectos mas aí exagerou .

@astk5214
2 months ago

Mas é mais eficiente?

@kkkkkkkkkkkk3386
2 months ago

Vai chegar um momento que vai estar tão facil que todos nós não teremos mais emprego

@Lucas-lq6jh
2 months ago

React kiriiiii 👍👍