Duas regras que você precisa cumprir com hooks no React

Поділитися
Вставка
  • Опубліковано 19 жов 2024

КОМЕНТАРІ • 140

  • @luanmedeirossilveira
    @luanmedeirossilveira 2 роки тому +54

    Fala Diego! Continua trazendo conteúdos desse porte que ajuda muito a galera. Abraço!

    • @dieegosf
      @dieegosf 2 роки тому +7

      Pode deixar!

  • @GabrielManussakis
    @GabrielManussakis 2 роки тому +23

    Esses vídeos com conceitos mais avançados são muito importantes para a comunidade!
    Parabéns!

  • @lucasdiasdev98
    @lucasdiasdev98 11 днів тому

    Ótima explicação, continuem criando esses conteúdos pois estão ajudando demais

  • @ebratz
    @ebratz 2 роки тому +8

    Muito bom ver a Rocketseat avançando em conteúdos com mais profundidade! Já existem muitos conteúdos para iniciantes ou nível intermediário e poucos conteúdos bons de nível avançado, principalmente em português.

  • @jon1996xd
    @jon1996xd 2 роки тому +4

    Vídeo pra ser visto mais de uma vez! Esses conceitos são muito importantes e acredito que todo mundo que já brincou com o react já gastou um tempo por causa desses "problemas"

  • @renatorodrigues2774
    @renatorodrigues2774 2 роки тому +2

    Fala Diego, Obrigado pelo Video. Eu já sabia que não podia Usar, mais me convenci agora porque.

  • @IgorRP12
    @IgorRP12 2 роки тому +4

    Excelente vídeo, acho que tão importante quanto saber usar a ferramenta, é saber como ela funciona "por de baixo dos panos" para saber também suas limitações, acho que seria interessante, talvez junto do vídeo ou em uma série separada, mostrar como tu chega a essas conclusões, seja fuçando no pacote do react ou documentação/fóruns para que a gente também possa aprender a como ....aprender?? haha mas super apoio essa série "É errando que se aprende".
    Valeu Diego, valeu Rocket!!

  • @Cristian7Bitencourt
    @Cristian7Bitencourt 2 роки тому +4

    Trabalho com React a um ano e não tinha parado pra pensar nisso, muito massa, clareou as ideias!!!!

  • @JeanSilvany_
    @JeanSilvany_ 2 роки тому

    Tomei martelada o vídeo todo, mas esse final aí fez um milagre!
    Boa Diogão!!!

  • @dpisati
    @dpisati 2 роки тому +12

    Maravilhoso video Diego!! Mais videos assim sao muito bem-vindos! 💖
    Explicar o funcionamento da programacao de uma forma mais pura, sem frameworks (ou o que o framework faz por baixo dos panos - como esse video). E conceitos basicos, porem essenciais, como closures, recursion, recursive, curry e etc...
    Obrigado pelo conteudo! 💖💖

  • @guilhermelourenco977
    @guilhermelourenco977 2 роки тому +9

    Você poderia trazer um conteúdo sobre Autenticação social + via Api na mesma aplicação abordando a melhor estratégia de se fazer isso 🚀

  • @ValterNeto
    @ValterNeto 2 роки тому

    Conteúdo massa! Já caí várias vezes nesse erro e fiquei muito putaço hahahah .
    Agora eu saquei, agora entendi!
    Valew e parabéns!

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

    Esses vídeos de conceitos de base do react são essenciais!

  • @maxwellalves6492
    @maxwellalves6492 2 роки тому +1

    Muito legal man, como pode fazer tanto sentido kkjkdkdkk eu gosto muito, e a função do useState, poder receber uma função com parâmetro do último estado da variável mudou minha vida kkkdkdk

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

    Boa Diegão! Parabéns pelo conteúdo!

  • @adrielschmitz
    @adrielschmitz 2 роки тому +1

    Excelente explicação!
    Se eu tivesse tido uma explicação visual assim lá nos primórdios dos hooks teria me polpado um baita tempo!!

  • @rmscrisostomo
    @rmscrisostomo 2 роки тому

    Caí hoje, descobri neste vídeo o porque 😂😂✌️.
    Obrigado pelo conteúdo.

  • @devemprender
    @devemprender 2 роки тому +2

    Gosto de sempre usar Call back function no useState quando estou utilizando o valor antigo. Esse problema pode acontecer tb quando estamos tratando um valor async tb.

  • @pablopereira5893
    @pablopereira5893 2 роки тому

    não passei por esses problemas ainda, mas é bom ja saber de antemão... vlw... belo video.... "Hey marcas de teclado!! Esse homem precisa de um teclado novo!"

  • @fabiogoncalves8597
    @fabiogoncalves8597 10 місяців тому

    Excelente vídeo, conteúdo extremamente relevante. Estou acostumado a usar o Vue.js e, ao alterar uma variável dentro de uma função, na sequência eu já consigo fazer uma operação com o valor atualizado. Demorei pra perceber que no React o funcionamento é diferente e o seu vídeo explicou muito bem o porquê. Sensacional!

  • @adrianomedeiros4068
    @adrianomedeiros4068 2 роки тому

    Cara eu estava passando nesse problema do setState igualzinho e não estava entendendo... Muito obrigado

  • @raimundojunior8547
    @raimundojunior8547 2 роки тому +1

    Valeu Diego, estava com dificuldade de entender no ignite, por aqui você esclareceu tudo, obrigado mesmo pela ajuda

  • @yagojuan4041
    @yagojuan4041 2 роки тому

    Meu cérebro explodiu agora hahaha. Sabia que ele não deixava fazer isso, mas não sabia o porquê. Muito bom!!

  • @nickolassilva8994
    @nickolassilva8994 2 роки тому +5

    Salve Diegão!!! Massa demais esse conteudo, era um dos pontos que eu não tava entendendo... "now everything makes sense!" ||| e não é por nada, não, mas parece que, ou o filtro ta estranho ou o Diegão não dormiu direito kkkkkk Salve equipe da rockets, Abraço!

  • @rafacapoci1757
    @rafacapoci1757 2 роки тому +2

    Estava com esse "problema" a umas duas semanas, esse video teria me poupado muito tempo hahaha

  • @edvaldojose.7756
    @edvaldojose.7756 2 роки тому

    Cara isso e D+, muito bom meu velho, excelente conteudo.

  • @vitorsantana2795
    @vitorsantana2795 Рік тому

    Sensacional Diego!! Explicação super didática e fácil 👏🏾

  • @jonatasrosamoura9666
    @jonatasrosamoura9666 10 місяців тому

    Muito bom, já sofri a lot por causa desses erros de hooks do react kkkk

  • @lucasmedeiros391
    @lucasmedeiros391 2 роки тому

    Top demais Diegão!

  • @michaelbarbosa7893
    @michaelbarbosa7893 2 роки тому

    When I've started producing I personally have downloaded most of the plugins from there, never had problems with virus, malwares and

  • @darlonhenrisouza8555
    @darlonhenrisouza8555 2 роки тому

    excelente aula diegão

  • @ygortf
    @ygortf 2 роки тому +2

    Esse formato é muito daora!! Excelente vídeo

  • @0625010042
    @0625010042 2 роки тому +1

    Show de bola! Conteúdo de muita qualidade. Parabéns Diego!!!

  • @SirCristianoLopes
    @SirCristianoLopes 2 роки тому

    Sensacional, Diego, parabéns pelo conteúdo.

  • @luizfelipeop
    @luizfelipeop 2 роки тому

    Dahora, ja conhecia mas passei por isso ontem haha, pra setar valores dentro de um objeto, dai fiquei uns minutos e lembrei dessa questão e consegui resolver o problema, coisas de Dev Junior haha mt top o video

  • @jennifermagpantay7933
    @jennifermagpantay7933 2 роки тому

    Incríveeeeeel!! Por mais conteúdos assim, por favor! Faz a gente, que está aprendendo, entender melhor alguns comportamentos, erros e as formas de evitá-los!

  • @jonatascarvalhoborges6175
    @jonatascarvalhoborges6175 2 роки тому +1

    Ganhou meu "laique" nos incas e astecas hahahaha

  • @gustadev276
    @gustadev276 2 роки тому +1

    Vídeo muito bom, sempre bem Diego!🚀

  • @lukscsas
    @lukscsas 2 роки тому

    mano, esse video E X P L O D I U minha mente... parabens!

  • @vane_8994
    @vane_8994 2 роки тому +1

    Baita conteúdo! 🚀👏

  • @felipecabreira4321
    @felipecabreira4321 2 роки тому +1

    Ótima didatica, video muito bom !

  • @diego_maia
    @diego_maia 2 роки тому

    Dois videos em seguida explicando alguma coisa que eu achava que sabia mas na verdade nao sabia!!! Continua com esse tipo de conteudo Diego!!! Valeu mesmo!!

    • @dieegosf
      @dieegosf 2 роки тому

      Que bom que curtiu!

  • @Viiikto
    @Viiikto 2 роки тому +2

    Sensacional, adorei o lip tint

  • @Pedrooedrpziul
    @Pedrooedrpziul 2 роки тому +1

    Conteúdo Fenomenal !!!!

  • @CaiqueMoraes93
    @CaiqueMoraes93 2 роки тому +2

    Excelente vídeo Diego! Gosto muito do seu conteúdo e didática

  • @marlonlamancio
    @marlonlamancio 2 роки тому

    Como sempre excelente conteúdo! Obrigado! Só uma sugestão, a música de fundo está muito alta nos vídeos, distrai bastante

  • @weslleyfillipe1532
    @weslleyfillipe1532 Рік тому

    Uma coisa sobre hooks condicionais que eu nao entendo é tipo, por exemplo:
    quando eu uso o graphql no front com react, eu nao posso fazer a chamada do 'useQuery' dentro de um if.
    A minha ideia na epoca era criar um unico hook personalizavel que executasse uma query de acordo com o parametro que vinha, porem como eu nao podia colocar dentro de um if ou switch case, acabava tendo que criar um hook pra cada funçao.
    No exemplo do video, mostrou no caso do hook nao ser criado numa segunda renderizacao (qd for false), porem no meu exemplo, um useQuery sempre seria criado, mas o ESLINT nao me deixava fazer kk. De qualquer forma, optei por nao usar graphql no front pra evitar esse tipo de coisa

  • @VitorCPSsss
    @VitorCPSsss 2 роки тому +2

    Rapaz, acabei de salvar o vídeo "3 coisas que você precisa dominar pra aprender React", agora eu chego aqui e saiu o "Duas regras que você precisa cumprir com hooks no React".
    Acho que é o destino falando pra eu focar mais no React Native, Web eu ainda prefiro 1000x o VueJS.

  • @brenodias6323
    @brenodias6323 2 роки тому

    Thank You So Much Bud

  • @afonsocarvalho3124
    @afonsocarvalho3124 2 роки тому +3

    Então, quando vc faz uso de um componente, apesar de ele já ser escrito como se fosse uma função, ele será transformado em uma outra função no bundle.js, que receberá como argumentos as variáveis do seu componente, inclusive as funções, que serão, naturalmente, um callback (ou delegate como faziam os incas e astecas xD ). VAleu, Diego!

  • @MDKohaku
    @MDKohaku 2 роки тому +1

    A Rocketseat salvando dnv

  • @rodrig0krvalho
    @rodrig0krvalho 2 роки тому +1

    Muito show!

  • @pliniohavila
    @pliniohavila 2 роки тому +3

    Boa!
    Agora, eu sei que para modificar o valor do estado mais de uma vez, eu tenho que alterar mediante a seguinte função:
    steCount((count) => count + 1).
    Porém não entendo o que está acontecendo "debaixo dos panos"?
    Poderia fazer uma vídeo explicando?
    Muito Obrigado.
    Parabéns pelo conteúdo...

    • @PedroHenrique-je6yu
      @PedroHenrique-je6yu Рік тому +1

      mano, pelo o que eu entendi no vídeo, ele executa uma função. Assim como caso você passasse apena setCount(count + 1), onde count é um valor fixo, a função se executará setCount(state => state + 1), onde state é sempre o valor anterior.

  • @italofsan
    @italofsan Рік тому

    Excelente vídeo!

  • @ruanlandrade
    @ruanlandrade 2 роки тому +1

    Amei o batom e o conteúdo, continua Diegão kkkkk

    • @dieegosf
      @dieegosf 2 роки тому +1

      Que bom que gostou, está na minha paleta :)

  • @lorenamelor
    @lorenamelor 21 день тому

    Excelente! 👏🏻

  • @rodrigomartins9115
    @rodrigomartins9115 2 роки тому

    Opa, quais sao as configurações de ESLINT e Prettier você usa?

  • @FAELP22
    @FAELP22 Рік тому

    Legal a dica, tenho uma pergunta, como vc faz para colocar sua câmera na tela?

  • @busster_6611
    @busster_6611 2 роки тому

    You are dope bro! Damn , thank you so much, subbed

  • @fellipeemanoel3040
    @fellipeemanoel3040 2 роки тому +1

    Video curtinho mas recheado de conteúdo!! Showww

  • @gabshs_
    @gabshs_ 2 роки тому

    Fala Diego, beleza? Conteúdo incrível, parabéns pela altíssima qualidade sempre. Teria como trazer mais vídeos voltados a node nesse estilo? Sinto a carência de conteúdos em node também. Abraços!

  • @victorkihs4415
    @victorkihs4415 2 роки тому

    Thanks so much bro.

  • @BlackListRF
    @BlackListRF 2 роки тому +1

    Conteúdo top ein Diegão, e esse teclado ein, já faz uns meses que ta nessa kkkkk

    • @dieegosf
      @dieegosf 2 роки тому

      Consegui resolver essa semana! (não da forma que eu queria, se é que me entendes hehe)

  • @sashizosh
    @sashizosh 2 роки тому

    Diego, no último exemplo que você faz a referência do state, nesse caso ele só renderiza o componente uma vez ou 5? Tipo, ele espera a função concluir todas as linhas pra dai triggar o rerender ou ele vai triggar 5 vezes porque chamou o setState 5 vezes? Obs: Isso que estou falando é independente se o valor alterou 5 vezes ou não.

    • @dieegosf
      @dieegosf 2 роки тому +1

      Ele faz uma vez só, isso se chama Automatic Batching que sempre foi feito sozinho e na última versão do React temos o batching também funcionando dentro de código assíncrono (reactjs.org/blog/2022/03/29/react-v18.html#new-feature-automatic-batching).

  • @johnrodrigues559
    @johnrodrigues559 2 роки тому +1

    Muito bom, Brabissimo

  • @cirogomes5330
    @cirogomes5330 2 роки тому +3

    Dá pra dar um setCount e logo em seguida já usar o valor atualizado de alguma forma, sem precisar salvar esse valor numa variável?
    Por exemplo esse código:
    const newCount = count + 1;
    setCount(newCount);
    setCrazyState(newCount * 2);
    Seria possível fazer assim?
    setCount(count + 1);
    setCrazyState(count * 2); //com o count atualizado

    • @cirogomes5330
      @cirogomes5330 2 роки тому +2

      Respondendo minha própria pergunta, dá pra fazer algo tipo assim 🤔:
      setCount(count => {
      count++;
      setCrazyState(count * 2);
      return count;
      });

  • @Samuellucas243
    @Samuellucas243 2 роки тому

    Como voce e tao bom diego? Em sabedoria.

    • @dieegosf
      @dieegosf 2 роки тому

      Foco e profundidade, como falei no meu instagram pessoal nessa foto (instagram.com/p/CgxSjNKObC5/), eu sei menos coisas hoje do que sabiam 6-7 anos atrás.

    • @Samuellucas243
      @Samuellucas243 2 роки тому

      Link esta indisponivel..

  • @victorpagnozi4736
    @victorpagnozi4736 2 роки тому

    Fala Diego, qual o modelo de câmera que vc utiliza ?

  • @223brunoleo
    @223brunoleo 2 роки тому +1

    Fantástico! Como acho isso na documentação?

    • @dieegosf
      @dieegosf 2 роки тому

      pt-br.reactjs.org/docs/hooks-rules.html#explanation

  •  2 роки тому +1

    Muito bom!

  • @thiagonunesmiziara6866
    @thiagonunesmiziara6866 2 роки тому +1

    Muito bom poderia fazer um de zustand

  • @danilovieira4442
    @danilovieira4442 2 роки тому

    13:11
    Quando o cara sabe como aproveitar os limões da vida hahaha

  • @MatheusPereira-nn9dj
    @MatheusPereira-nn9dj Рік тому

    o que voce esta usando no tsconfig para voce nao precisar definir tipos na sua aplicação react ???

  • @albuquerquedev5200
    @albuquerquedev5200 2 роки тому +1

    Show!

  • @saphiraxavier426
    @saphiraxavier426 Рік тому

    me ajudou muitoo

  • @moranisdev
    @moranisdev 2 роки тому +1

    Brabo !!!

  • @felipekawassaki
    @felipekawassaki 2 роки тому +1

    Top!

  • @bigardibatera
    @bigardibatera 2 роки тому +1

    O que vc usa de software pra sua câmera nesse formato na tela e esse follow que deu no seu rosto qndo mudou de lado e a câmera buscou vc?

    • @danielantunesrocha545
      @danielantunesrocha545 2 роки тому

      TB tô curioso pra saber

    • @dieegosf
      @dieegosf 2 роки тому

      github.com/maykbrito/mini-video-me

    • @rogi9696
      @rogi9696 2 роки тому

      Me parece que quando ele mudava de lado, ele mesmo ajustava a imagem

  • @marcelolupatini5553
    @marcelolupatini5553 2 роки тому +1

    Vídeo bom

  • @giovanny1850
    @giovanny1850 2 роки тому

    "ou classes como faziam os incas e astecas" me quebrou mt mano KKKKKKKKK

  • @sosun847
    @sosun847 2 роки тому

    teria alguma referencia para aprofundar nessa questão? Entendo que foi um exemplo simplificado mas se o problema fosse a ordem que as propriedades são passadas e o time do react quisesse permitir hooks condicionais os componentes poderiam receber seus "params e hooks" como um objeto, ai não importaria se um desses valores não fosse enviado, ou de alguma forma contar o numero de params que ele espera e preencher com undefined caso o parametro não tivesse valor definido

    • @dieegosf
      @dieegosf 2 роки тому +1

      A referência é a própria documentação: pt-br.reactjs.org/docs/hooks-rules.html#explanation

  • @wagnersobreira8703
    @wagnersobreira8703 2 роки тому +1

    Boa diego!

  • @MarcusVinicius-wz6es
    @MarcusVinicius-wz6es 2 роки тому +3

    Fala Diegão! Poderia falar sobre o erro: "Can't perform a React state update on an unmounted component", por favor!!!!! Adoro o conteúdo da Rocket!

  • @gleisonrj19
    @gleisonrj19 2 роки тому +1

    Descobri quando precisei fazer uma paginação e tive que pegar o prevState kk

  • @brenodanyel1315
    @brenodanyel1315 2 роки тому +1

    Muito bom :)

  • @RicardoTrevisan
    @RicardoTrevisan 2 роки тому +1

    🚀🔥🔥🔥

  • @joaovictordossantos9329
    @joaovictordossantos9329 2 роки тому

    Seria interessante deixar alguns fontes na descrição, senti falta

    • @dieegosf
      @dieegosf 2 роки тому +1

      A fonte é sempre a documentação pt-br.reactjs.org/docs/hooks-rules.html#explanation

  • @thomaspalmieri3754
    @thomaspalmieri3754 2 роки тому

    it really works!

  • @lucasi-cs
    @lucasi-cs 2 роки тому

    Qual a configuração do navegador que grifa o componente quando ele é renderizado? Vi em um video como ativava mas esqueci

    • @dieegosf
      @dieegosf 2 роки тому +1

      React DevTools e dai nas configs tem uma opção "Highlight componentes when rerenders"

  • @joaocastro.s
    @joaocastro.s 2 роки тому

    O condicional ainda ficou confuso pra mim o motivo, mas o state na function deu pra entender bacanudo.

    • @dieegosf
      @dieegosf 2 роки тому

      O condicional acaba mudando a ordem dos states e com isso a "ordem dos parâmetros" da função, como o React não guarda um nome pra cada estado, ele se perde.

    • @joaocastro.s
      @joaocastro.s 2 роки тому

      Acabei voltando o vídeo para entender melhor e ficou super claro. Parabéns pelo conteúdo Diego.

  • @xxxx3657
    @xxxx3657 2 роки тому

    Best guy how did u get it, what torrent did u use

  • @EduuuardoRodrigues
    @EduuuardoRodrigues 2 роки тому

    bro where have u been, it is so cool

  • @jeffersonbueno1168
    @jeffersonbueno1168 2 роки тому

    foda, sabia que não funcionava mas não sabia o porque rs

  • @marcelosilvadias3902
    @marcelosilvadias3902 2 роки тому +2

    O famoso "prevState" rs .

  • @alexalannunes
    @alexalannunes 2 роки тому +1

    testei e com useCallback tambem não funciona. :) .Entendido com sucesso

  • @davibergamin5943
    @davibergamin5943 2 роки тому

    então é por isso que eu não posso simplesmente chamar a função setCounter no corpo da função do componente e fora de um evento? porque quando eu chamo a função setCounter o componente é re-renderizado e a função ele vai entrar em um loop infinito?

  • @renatomarxs
    @renatomarxs 2 роки тому +1

    Top

  • @uamhenry522
    @uamhenry522 2 роки тому

    What do I do when the channel rack becos too cluttered? If I can, how do I clear it?

  • @compilacaodememesnovos8353
    @compilacaodememesnovos8353 2 роки тому

    I'm convinced that the big investors and analysts are trying to scare us to keep us poor and ignorant to the market.. because its steady

  • @ruthmariia
    @ruthmariia 2 роки тому +1

    Ótima explicação! Mas essa música de fundo me atrapalhou um pouco, era melhor quando vocês não colocavam música de fundo nos vídeos.

    • @dieegosf
      @dieegosf 2 роки тому

      Obrigado pelo feedback

    • @guilherme-ji8ly
      @guilherme-ji8ly 2 роки тому

      eu nem percebi a música de fundo sinceramente