Talvez você não precise de estados globais no React (HTTP State)

Поділитися
Вставка
  • Опубліковано 7 жов 2024
  • Conecte-se a 500mil devs e avance para o próximo nível com a nossa plataforma: rocketseat.com...
    Cadastre-se na nossa plataforma: app.rocketseat...
    Junte-se a mais de 392mil devs em nossa comunidade no Discord: / discord
    Acompanhe a Rocketseat nas redes sociais:
    Twitter: @rocketseat
    Facebook: @rocketseat
    Instagram: @rocketseat

КОМЕНТАРІ • 128

  • @felipecouto9044
    @felipecouto9044 8 місяців тому +32

    Só um comentário adicional caso alguém tenha ficado na dúvida... Ele não faz requisição pra atualizar a listagem toda, isso é via cache, mas é feita a requisição pra enviar o post do novo produto pra API

    • @dieegosf
      @dieegosf 8 місяців тому +5

      Exato, obrigado Felipe!

    • @guilhermeconde817
      @guilhermeconde817 3 місяці тому

      Opa Felipe, Então posso deixar a chamada na Api somente na primeira renderização do component e ir controlando as mutations por cache, que depois quando o component for renderizado novamente, a listagem estará corrigida com as seguintes mutations adicionadas pelo useMutation?

    • @felipecouto9044
      @felipecouto9044 3 місяці тому +2

      @@guilhermeconde817 sim, quando ele renderizar novamente, em um reload de página, por exemplo, o que foi enviado no post retornará também. Caso queira forçar a chamada, dê uma olhada em "invalidate query" do React Query.

    • @guilhermeconde817
      @guilhermeconde817 3 місяці тому

      @@felipecouto9044 tmj, gratidão!

  • @m4c1el
    @m4c1el День тому

    esse vídeo me convenceu a começar a usar react query pra todos os meus apps.
    melhor. decisão. da minha vida.

  • @wollyverkk2263
    @wollyverkk2263 8 місяців тому +8

    Bacana, eu geralmente usava a função refetch que vem de dentro do useQuery, e então refazia a requisição. Vou começar tentar essa nova abordagem

  • @josephkaltenecker7904
    @josephkaltenecker7904 8 місяців тому +9

    Muito interessante esse update do cache. Trabalhei numa fintech e usávamos React Query.
    No caso de uma mutation, eu fazia um invalidateQuery no cache key (que eram armazenadas num outro arquivo) e rolava um refetch, atualizando em todos os lugares que usavam essa cache key.
    Acho que por ser um app de investimentos, fazer um invalidate é mais interessante dado que outros usuários influenciam nos dados em tela
    React Query é incrível pois nos possibilitou abandonar de vez o Redux (pessimamente configurado)
    Parabéns Diego pelo ótimo conteúdo

    • @raphox
      @raphox 8 місяців тому +2

      Eu também não entendi bem o motivo dele ele não ter utilizado o invalidateQuery. Em outro vídeo eu vi ele fazendo a mesma coisa. Você acha que há alguma razão para utilizar a abordagem dele ao invés do invalidateQuery?

    • @rickxzz
      @rickxzz 8 місяців тому +4

      ​@@raphox a razão é que em alguns casos você não precisa fazer outra requisição http para manter o estado da sua aplicação atualizado, principalmente se for em um caso que apenas um usuário influencia nos dados da tela, como dito pelo joseph

    • @raphox
      @raphox 8 місяців тому

      Na documentação (na parte de 'Persist mutations') ele utiliza o resultado da request da mutation para definir os dados do novo elemento.

    • @dieegosf
      @dieegosf 8 місяців тому +5

      Sim, perfeito, em alguns tipos de apps um invalidate é muito melhor que atualizar o cache, tipo um saque no banco, você quer que o saldo sempre seja o mais fiél possível, não faz sentido ficar controlando cache no front-end.

    • @viniciusneto6824
      @viniciusneto6824 8 місяців тому

      Boa! Trabalho num produto admin utilizado por 1,5k operadores diariamente. Ele tem diversas listagens de recursos de mais de 1,5M de clientes. Então estão sempre sofrendo mutações. Por conta desse cenário utilizamos o invalidate. Mas utilizamos o RTK Query. A feature de invalidação e refetch automático dele é muito mais fácil de gerenciar do que o do React Query. Mas ambas são excelentes soluções pra data fetching e caching!

  • @isareginabs6816
    @isareginabs6816 2 місяці тому

    Conteúdo incrível !! 💜 Parabéns Diego, tava procurando sobre o assunto e esse video foi bem didático

  • @mateusjsouza
    @mateusjsouza 8 місяців тому +2

    Tava procurando conteúdo sobre isso e aparece isso no meu yt. Bom demais, mano. Vou começar a usar react-query nos meus projetos pra solidificar o conhecimento.

  • @matheusquirino2287
    @matheusquirino2287 8 місяців тому +4

    voce é insano!

  • @WerllenTrindade
    @WerllenTrindade 7 місяців тому

    Diego, tu é muuuito bom cara.

  • @DiegoCarreiraFr
    @DiegoCarreiraFr 8 місяців тому +1

    Excelente conteudo!!

  • @diasneto5231
    @diasneto5231 2 місяці тому

    É útil em alguns casos, mas o problema que sempre tenho com essa abordagem, é no caso de a lista ser paginada, ordenada e filtrada, esse novo item incluso precisa ser paginado, ordenado e filtrado de acordo com os dados que estão no banco para mostrar (ou não) em tela. E ai eu sempre sou obrigado a retornar da API.

  • @StephaniLacerda
    @StephaniLacerda 8 місяців тому +1

    Agora com revalidate do nextjs, nem precisa mais pois uma round trip já atualiza o componente atrás do modal, usando as server actions

    • @lucascoliveira3957
      @lucascoliveira3957 8 місяців тому +1

      Era esse comentário que eu estava procurando.
      Vc acha q compensa fazer um app de dashboard igual esse q ele fez, direto no next por causa das server actions?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Sim, mas ainda é algo difícil de ter como "padrão" pra toda aplicação, ainda está muito embrionário e, dado experiências pessoais, com muitos bugzinhos misteriosos.

  • @natanbatista9729
    @natanbatista9729 Місяць тому

    Lembra muito tRPC

  • @lucass.p9579
    @lucass.p9579 8 місяців тому

    O Next.js com o app router trouxe essa funcionalidade com o uso de revalidate, server actions, server components e etc... mas eu pessoalmente prefiro muito mais essa solução utilizando o React Query no pages router. A sintaxe é infinitamente melhor, mais simples, intuitiva e ta bem mais estavel tambem. O site roda liso demais e sem sofrimento nenhum pra fazer.

  • @Gabriel-zm6tq
    @Gabriel-zm6tq 8 місяців тому

    Lib show! So cuidar pra nao arrebentar com a memoria do client

  • @icarobteles
    @icarobteles 8 місяців тому

    Normalmente, quando eu ainda utilizava um state normal do React para lidar com requisições à API, normalmente também não fazia uma nova requisição GET para atualizar todos os dados. Se fosse um create, por exemplo, faria a requisição create e com o retorno desta sendo o novo dado criado, eu acrescentaria isso ao state, o que já seria refletido em tela, sem necessidade do refetch.

    • @dieegosf
      @dieegosf 8 місяців тому

      Exato, mas daí sem o React Query precisamos ficar passando funções de dentro de um componente para o outro ou criar um contexto para atualizar esses dados.

  • @fabioribeirodecarvalho2382
    @fabioribeirodecarvalho2382 6 місяців тому

    Mas digamos que mais de um usuário atualizou a lista. A lista iria ficar desatualizada justamente porque não foi feita a requisição. Sei que nesse caso iria abrir espaço para uma discussão de websocket e etc. Porém se a lista tiver muitas atualizações a conexão não for "socket" não vale a pena carregar de novo a lista, visto que os dados seriam mais confiáveis...meio q um trade-off

  • @mauricioporfirio8072
    @mauricioporfirio8072 8 місяців тому +4

    Eu só fiquei confuso em relação as variáveis (isPending, isFetching, isLoading) qual a diferença entre elas? É uma diferença notória ou não?

    • @fabiobeutler1017
      @fabiobeutler1017 8 місяців тому +2

      isLoading é o resultado da junção da informação de que não há informação no cache ainda (isPending) + a informação de que a queryFunction foi chamada, ou seja, isLoading = isPending && isFetching
      Essa diferença existe porque há a possibilidade de instanciar uma query sem invocar a queryFunction ao mesmo tempo, controlando, portanto, o tempo que ela fica pendente até ter seu carregamento iniciado.
      E o isLoading indicará assim o primeiro carregamento desse dado (sem cache + execução da função)

    • @MuriloD.Obregao
      @MuriloD.Obregao 8 місяців тому

      E na documentação têm tudo bem explicado tbm

  • @metalcodebr
    @metalcodebr 8 днів тому

    O problema do http state nao seria outras pessoas usando a mesma tabela ou a mesma tela no mesmo tempo? e com isso a gente acaba impedindo de ter os dados 100% atualizados?

  • @santanap2
    @santanap2 3 місяці тому +1

    Isso é exatamente o que eu estou precisando fazer na minha aplicação, porém não estou usando tanstack. Como estou usando NextJS 14 com server components, meus componentes são assíncronos e eu faço a requisição com Axios. No caso de alterar em tempo real o meu componente de carrinho ao adicionar um item, a requisição é feita com sucesso, mas o novo item só era mostrado como adicionado ao carrinho ao recarregar a página. Pra solucionar isso, somente no meu componente de carrinho não estou usando o Axios, estou usando o fetch nativo com um objeto de configuração { next: { tags: ['...'] } } pra fazer o revalidateTag('...'). Problema é que em produção minha aplicação quebra sempre ao abrir o carrinho (mesmo sem adicionar nenhum item), sendo que em development funciona perfeitamente. O que pode ser, alguém pra me ajudar?

  • @lucasrochafernandes8568
    @lucasrochafernandes8568 8 місяців тому +2

    Os vídeos certos nas horas certas

  • @carlosamorim94
    @carlosamorim94 8 місяців тому +1

    Diegão, num cenário Next, utilizar o SWR em vez do React Query seria uma alternativa "melhor"? Pois é desenvolvido pela própria Vercel...

  • @MarcosXavierPaesdeFreitas
    @MarcosXavierPaesdeFreitas 5 місяців тому

    Achei legal, Diego.
    Mas faz sentido usar para esse exemplo mesmo?
    É importante que exista o ID na lista de produtos e o ID só existirá quando o produto for gravado no banco de dados pelo backend. Logo, é necessário fazer uma request na API para buscar os dados no banco de dados para que o ID seja populado.

    • @yuri4dev
      @yuri4dev 2 місяці тому

      Mas aí pra resolver isso é só retornar o próprio produto que foi criado no backend na resposta do POST e usar esse ID que vai vir pra popular.

  • @DouglasCastrodaSilva
    @DouglasCastrodaSilva 8 місяців тому +1

    Achei a lib legal e facil de usar mas pra mim isso parece um global state d qlqr forma. Assim como no redux vc tinha store.estado.propriedade vc agora tem um cache[key].propriedade; Essa funcao de mutation é a msm coisa q um dispatch de uma action do redux; e essa funçao setQueryData é o reducer q atualiza a store. Em outras palavras, pra mim essa lib é um redux 2.0 com uma sintaxe melhor q criar aquelas funcoes de mapDispatchToProps e mapDispatchToProps. Sobre "HTTP state" acho q é uma limitacao da funcionalidade q essa lib entrega pois podemos armazenar esses caches de qlqr operacao executada e nao apenas as operacoes oriundas de requisicoes HTTP. Ex.: poderiamos ter um cliente q se conecta a um websocket e a cada evento ouvido atualizamos o cache atraves de uma mutation.

    • @DjEdu28
      @DjEdu28 8 місяців тому

      Sim, Douglas, e até nos exemplos do RQ (reacr-query) ele trabalha com requisições que nem usa o http, justamente para os iniciantes não se limitarem apenas a isso. E com RQ podemos definir a validade do cache, o tempo que ele ainda é valido (mesmo que vencido) e o período que queremos para ele ser revalidado. Ele é muito útil para rodar a aplicação mesmo sem conexão com a internet. Também possui funcionalidades para ativar a revalidação quando o usuário volta a página e/ou quando o componente é renderizado/montado em tela

  • @dev.caixeiroviajante
    @dev.caixeiroviajante 6 місяців тому

    Maneiro ! Optimistic Updates, certo ? Mas após adicionar utilizando o "variables"e preenchendo com dados "temporários" em que momento eu posso atualizar esses dados para os dados reais da api ?

  • @leonardoreis674
    @leonardoreis674 8 місяців тому +3

    Este metodo com filtros implementados nao funciona bem, se tiver usando por algum acaso um searchParams, e o query estive por volta de duas paginas que tem filtros utilizando o searchParams, os dados de ambas irao ser atualizados o que pode causar em algum momento um problema se estiver usando os dados para algo, como me ocorreu essa semana

    • @gurmiguel
      @gurmiguel 8 місяців тому +5

      Na verdade funciona, a questão é que o queryKey usado na query e mutation precisa também conter esses parâmetros, assim os updates também só vão atualizar as queries que tiverem esses parâmetros

    • @leonardoreis674
      @leonardoreis674 8 місяців тому

      nao falei sobre isso, se voce tiver na pagina X e fizer a listagem e nessa pagina tem ?search=maria, e voce mudar para pagina y e tiver search=jose ambos vamo mudar, no meu caso eu precisava da lista de maria na pagina jose, ela tambem ira mudar obviamente se estiver por volta das duas paginas, nao falei de mutation em momento nenhum, estou falando de persistencia@@gurmiguel

  • @gsr5706
    @gsr5706 Місяць тому

    Qual extensão é essa, que mostra o console-log ?

  • @andersonnascimento9864
    @andersonnascimento9864 8 місяців тому +2

    No caso do Next.js com as server-actions é viável ainda o uso do react-query?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Claro! Não é porque temos a HABILIDADE de usar Server Components que devamos deixar de lado toda reatividade do React e nunca mais usar código client-side...

    • @renao_
      @renao_ 8 місяців тому

      @@dieegosf pensando em um uso pra fetchs em server components e cache dos dados, o react query tem alguma vantagem em cima das actions nativas do nextjs? to analisando se devo utilizar uma lib pra isso ou se fico com as soluções nativas do framework

    • @rodrigomedeiros773
      @rodrigomedeiros773 5 місяців тому

      @dieegosf acho que a pergunta dele deve ter sido pertinente em relação ao revalidatePath() , acha válido usar? Mesmo tendo o revalidatePath?

  • @luanscar6371
    @luanscar6371 4 місяці тому

    tem como usar server actions no mutationFn?

  • @ohervis
    @ohervis 8 місяців тому +1

    Mas não era só fazer um push no array com o novo produto?

    • @dieegosf
      @dieegosf 8 місяців тому +2

      Não, o React não vai monitorar uma nova informação surgindo no array de forma automatizada.

  • @LimaGabriel1
    @LimaGabriel1 8 місяців тому

    pode ser feita uma chamada para buscar somente o item incrementado e atualizar o estado com ele.

    • @dieegosf
      @dieegosf 8 місяців тому +1

      O useMutation já tem acesso aos dados do item incrementado através do primeiro parâmetro do método "onSuccess" então não precisa fazer uma nova chamada.

    • @LimaGabriel1
      @LimaGabriel1 8 місяців тому

      @@dieegosf digo, para caso precise buscar dados gerados pelo servidor. como o id. sem ele muitos processos de associação não funcionaria.
      por isso comentei, que podemos ao invés de buscar a lista toda, usar o retorno da api que geralmente devolve o item adicionado.
      pois no exemplo usou os dados do usuário.

  • @ghostbay897
    @ghostbay897 8 місяців тому

    Diego, pretendes ainda fazer mais video ensinando o react com o projeto de upload com tauri?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Simmm, vou continuar.

  • @sualeabdulsuale
    @sualeabdulsuale 8 місяців тому

    Bastante interessante 😇

  • @GabrielPaivaMusic
    @GabrielPaivaMusic 8 місяців тому

    Agora fique com uma dúvida. Já que é muito mais performático utilizar HTTP State, quando utilizar outras abordagens como estados globais?

    • @yuri4dev
      @yuri4dev 2 місяці тому +2

      Quando vc tem muitas telas e precisa de reatividade global para atualizar muitos componentes de uma só vez, como um aplicativo bancário por exemplo, onde um usuário faz uma transação bancária e esse saldo precisa ser atualizado em muitos lugares instantaneamente. nesse caso seria ideal usar um estado global, pois mantem uma instância única do estado e só consultá-lo em qualquer parte do sistema. além de ser mais seguro

  • @sdhugoleo
    @sdhugoleo 5 місяців тому

    começando a estudar react me indicaram CRA, mas qual framework recomenda?

  • @euyokan
    @euyokan 8 місяців тому +1

    Eu percebi que quando você deu F5, o produto que você inseriu, não se manteve no cache do React Query. Foi por você estar em desenvolvimento e ter atualizando o código pra adicionar um id? 12:42

    • @dieegosf
      @dieegosf 8 місяців тому +1

      O cache não é persistente entre as atualizações de página e, como eu não estava realmente salvando o produto em um banco de dados ou algo do tipo, ele vai se perder da listagem mesmo.

    • @euyokan
      @euyokan 8 місяців тому

      ​@@dieegosf Então no caso se eu quiser a lista atualizada mesmo dando F5 após inserir, eu precisaria fazer refetch?

    • @dieegosf
      @dieegosf 8 місяців тому

      @@euyokan Quando você dá F5 na verdade tudo vai dar refetch, isso é padrão do browser. Até existem estratégias pra fazer storage do cache, mas não sei até que ponto vale a pena (tanstack.com/query/v4/docs/react/plugins/persistQueryClient).

  • @godzzrl
    @godzzrl 8 місяців тому +1

    O que ele está usando no começo do vídeo para conseguir fazer pesquisa no gpt com search bar avulsa?

    • @lucas.fellipe.c
      @lucas.fellipe.c 8 місяців тому +2

      é o raycast, é um app pra macos!

    • @godzzrl
      @godzzrl 8 місяців тому

      @@lucas.fellipe.cvlww

  • @Joanneswsquim
    @Joanneswsquim 8 місяців тому

    Subatituiria o zustand também? Como seria para outros componentes que nao usaria necessariamente requisição, mas alteração de layout?

    • @dieegosf
      @dieegosf 8 місяців тому

      Depende com qual propósito, se você usa Zustand pra salvar os dados provindos de requisições HTTP então sim.

  • @joaogustavoferreira7136
    @joaogustavoferreira7136 8 місяців тому

    Fala Diego blz? Pode explicar a fundo por que você nomeeia de HTTP state, esta biblioteca me parece seguir a arquitetura FLUX adicionando um JS global state e manipulando isto a cada requisição.

    • @joaogustavoferreira7136
      @joaogustavoferreira7136 8 місяців тому

      Provavelmente por que deve estar usando e manipoulando Cache do Browser

  • @walkdead94
    @walkdead94 8 місяців тому

    Interessante... mas existe um motivo de enviar essa info pro back, ele é quem vai validar e criar a entrada (por isso não tem id)... se minha aplicação compartilha a api com outras eu posso até criar problemas de dados seguindo esse padrão... Eu sinceramente não vejo como colocar isso pra rodar a não ser que eu não precise de back, ou que ele só sirva pra se comunicar com o Banco...

    • @minimovzEt
      @minimovzEt 8 місяців тому

      esse caso que ele mostrou ele usou dados de exemplo e chamadas dummy, no mundo real obviamente a requisição do servidor irá retornar o estado atual da entidade e você poderá salvar na lista, isso é um pattern basicão que só ficou "complicado" pelo uso de biblioteca externa pelo react ser uma bosta.

  • @mateusdanielle3052
    @mateusdanielle3052 8 місяців тому

    Ultimamente tenho usado o Jotai, para criar átomos globais, consigo usar ambos juntos? Ou nesse caso o React-query viria para substituir essa funcionalidade??

  • @MarcusTorres-zv5cv
    @MarcusTorres-zv5cv 8 місяців тому

    No remix isso e feito automático, isso se chama Optmistic Ui

    • @dieegosf
      @dieegosf 8 місяців тому

      Opa Marcus, beleza? Na verdade, me corrija se eu estiver errado, Optimistic UI é quando mostramos o valor "atualizado" mesmo antes da requisição para o back-end ter sucesso e, caso tenha erro no futuro, a gente volta o valor original. A atualização de cache em si pode ser usada para interface otimista mas não necessariamente configura o uso da prática. Mas nesse projeto usamos interface otimista na atualização do perfil: github.com/rocketseat-education/pizzashop-web/blob/main/src/components/store-profile.tsx#L75

  • @marcelo55850
    @marcelo55850 7 місяців тому

    podia explicar utilizando uma api real

  • @lucasbraga6979
    @lucasbraga6979 8 місяців тому

    essa live tem completa ?

  • @alewhois
    @alewhois 6 місяців тому

    Qual é essa extensão que chama o gpt?

  • @guilhermevieira2115
    @guilhermevieira2115 8 місяців тому

    Eu posso substituir o reducer por um http state ou o resultado ficaria o mesmo?

  • @TutoDS2014
    @TutoDS2014 23 дні тому

    Como fazer no caso de resultados paginados? Remove um e adiciona o novo?

    • @TutoDS2014
      @TutoDS2014 23 дні тому

      E como voce lidaria com acções tipo update se ainda não tem o `id` desse item?

    • @m4c1el
      @m4c1el День тому

      em casos paginados, normalmente cê passa o ID pra queryKey. dessa forma a query afetada vai ser a query daquela página em específico

    • @TutoDS2014
      @TutoDS2014 День тому

      @@m4c1el ok, mas ainda assim se a paginação é de 50 resultados ao adicionar um novo irão ficar 51 resultados

    • @m4c1el
      @m4c1el 19 годин тому

      @@TutoDS2014 hmm. então cê usa o setQueryData, mas na hora de passar a queryKey, cê teria que alterar pra última página. normalmente em requests paginadas você tem a quantidade total de páginas, então da pra botar o ID da última query lá, acredito eu

  • @brunohenrique7369
    @brunohenrique7369 8 місяців тому

    Fica a dúvida agora de como resolver o ID, eu gero ele no front ou mando pro back e ele resolve?

    • @dieegosf
      @dieegosf 8 місяців тому +2

      Geralmente o back-end devolve isso na resposta da requisição, essa resposta vem no primeiro parâmetro do "onSuccess" que renomeamos ali no vídeo para "_" então basta usar essa resposta e você terá o ID e os demais dados provindos do back-end.

    • @brunohenrique7369
      @brunohenrique7369 8 місяців тому

      @@dieegosf então é simples, eu achei que era algo pra eliminar a requisição momentânea

  • @lucianoseibel
    @lucianoseibel 5 місяців тому

    de qual video eh este corte?

  • @LucasSouza-ev2wb
    @LucasSouza-ev2wb 8 місяців тому

    Uma dúvida, se eu tenho um sistema que atualiza uma lista de produtos e uma outra que lista esses produtos tipo em um select, quando eu atualizo pelo cache, essa atualização pode ser vista na outra tela que tem o componente de produto?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      São aplicações diferentes? Se sim, então você não conseguirá ver isso refletindo não. Só funciona se for a mesma aplicação com duas páginas diferentes, daí sim.

  • @luizzeduardo341
    @luizzeduardo341 8 місяців тому

    Quando a Rocket vai lançar a formação em Flutter?

    • @EsdrasCastroFerreira
      @EsdrasCastroFerreira 8 місяців тому

      Deixa de ser uma escola de programação, amigo! 😅

    • @luizzeduardo341
      @luizzeduardo341 8 місяців тому

      @@EsdrasCastroFerreira Essa sua resposta só mostra que você não tem o curso pago da Rocket, pois eles tem curso de Python, Java, arquitetura e várias outras tecnologia incluindo Flutter como cursos livre, então se eles adicionarem uma trilha só de Flutter no ignite que diferença faria no que eles já são hoje "UMA ESCOLA DE PROGRAMAÇÃO". Aí pessoas como você que só assiste eles aqui no UA-cam fica aí dando opinião nada a ver, aí faz o seguinte, quando você trabalhar lá na Rocket, responde minha pergunta aqui novamente, pois minha pergunta foi direcionada para eles blz 👍

  • @victoralecrim4412
    @victoralecrim4412 8 місяців тому

    Cara qual teclado o diego usa ?? queria saber muito pq faz um barulhasso kkkk

    • @dieegosf
      @dieegosf 8 місяців тому

      Keychron K2

  • @rodrigobrito20
    @rodrigobrito20 8 місяців тому

    Tenho muito problema com isso, de atualizar um dado e precisar de um refresh na página. Uso o redux para gerenciar minhas requisições. Como consigo fazer isso, ou algo proximo, sem o uso do react-query?

    • @dieegosf
      @dieegosf 8 місяців тому

      Se você usa Redux, o melhor é o RTK Query que tem o mesmo propósito mas com integração para Redux

  • @phillipedequeiroz6296
    @phillipedequeiroz6296 8 місяців тому

    Isso não causaria uma inconsistência no id? Se fosse necessário deletar, o id informado estaria errado 🤔🤔

    • @Luis-vi6fd
      @Luis-vi6fd 8 місяців тому

      pensando que a api que vc ultilizou para criar a nova entrada retornar o id, você consegue pegar pra atualizar o cache, sem a necessidade de chamar o get novamente

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Geralmente o back-end devolve isso na resposta da requisição, essa resposta vem no primeiro parâmetro do "onSuccess" que renomeamos ali no vídeo para "_" então basta usar essa resposta e você terá o ID e os demais dados provindos do back-end.

    • @phillipedequeiroz6296
      @phillipedequeiroz6296 8 місяців тому

      @@dieegosf entendii. Vlw diego 🙏🏼

  • @Brenosalv
    @Brenosalv 8 місяців тому

    Daora demais. Podemos dizer adeus ao Redux? Eu ouvi um amém, meus irmãos???

    • @dieegosf
      @dieegosf 8 місяців тому

      Hahaha, não necessariamente, só não precisamos mais usar o Redux pra guardar dados provindos das requests HTTP

  • @riadyounes00
    @riadyounes00 8 місяців тому

    Onde sao feiras essas lives?

    • @dieegosf
      @dieegosf 8 місяців тому

      Twitch (usuário dieegosf)

  • @noodde
    @noodde 8 місяців тому

    Como faz pra abrir essa AI Assist no mac? Alguma extensão?

    • @dieegosf
      @dieegosf 8 місяців тому

      Raycast, mas a parte de AI é paga

  • @GABRIELR798
    @GABRIELR798 8 місяців тому

    Olá Diego, pararam de utilizar o chakra-ui?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Então, depois que o Chakra anuncionou a versão 2.0 com a quebra da lib em 4 projetos eu acabei dando um pause com ela sim.

    • @DjEdu28
      @DjEdu28 8 місяців тому

      hoje uso muito o Material UI, verifica se ele é útil para teus projetos

  • @vitvitvitvitvitvitvitvit
    @vitvitvitvitvitvitvitvit 8 місяців тому

    você tá usando a lib de table do @tanstack também?
    eles aparentemente tão construindo lib para tudo: table, form, router, etc. Só utilizei o react-query até agora, mas parece interessante o projeto deles

    • @mrerre2236
      @mrerre2236 8 місяців тому

      ele usou o shadcn/ui pra faz a table e modal

    • @vitvitvitvitvitvitvitvit
      @vitvitvitvitvitvitvitvit 8 місяців тому

      @@mrerre2236 valeu pela info, amg. nunca dei uma olhada nessa lib ainda, mas parece legal

  • @xavierjece_oficial
    @xavierjece_oficial 8 місяців тому

    Para usar com next seria a meama estratégia?

    • @dieegosf
      @dieegosf 8 місяців тому +1

      Sim, exatamente. Se estiver usando o App Router (Next 13+) precisa dai só sinalizar que é um client component com "use client".

    • @xavierjece_oficial
      @xavierjece_oficial 8 місяців тому

      Obrigado!!
      Aproveitando outra dúvida, com o next o SWR seria melhor compatibilidade ? Devi ser desenvolvido pela vercel também?

  • @TheMrMatazza
    @TheMrMatazza 8 місяців тому

    eu só queria saber a config do macbook dele

    • @dieegosf
      @dieegosf 8 місяців тому

      M1 Max 64gb

  • @darley_raffael
    @darley_raffael 8 місяців тому

    Qual é esse projeto?

    • @dieegosf
      @dieegosf 8 місяців тому

      Módulo 04 da formação React

  • @enzokazuki3842
    @enzokazuki3842 2 місяці тому

    da dor nos rins de ver esse cara codar, na moral

  • @Shlnigamii
    @Shlnigamii 8 місяців тому

    Nao tem nada de conteudo python e os cara na live tavam querendo enfiar curso guela abaixo.

  • @ofabiobaptista
    @ofabiobaptista 6 місяців тому

    Sempre inventando moda pra vender curso em piá 😂