Duas regras que você precisa cumprir com hooks no React

  Рет қаралды 43,730

Rocketseat

Rocketseat

Күн бұрын

Hooks são formas extremamente simples de adicionar comportamentos a componentes no React, mas existem algumas regras que você deve seguir quando utilizar essa API.
Mas, para isso, temos que aprender como os hooks funcionam por baixo dos panos e entender o que são closures no JavaScript.
Nesse vídeo mostro detalhadamente como o React se comporta quando declaramos um novo hook dentro do componente.
-----
Conecte-se a 200mil 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_oficial

Пікірлер
@luanmedeirossilveira
@luanmedeirossilveira 2 жыл бұрын
Fala Diego! Continua trazendo conteúdos desse porte que ajuda muito a galera. Abraço!
@dieegosf
@dieegosf 2 жыл бұрын
Pode deixar!
@GabrielManussakis
@GabrielManussakis 2 жыл бұрын
Esses vídeos com conceitos mais avançados são muito importantes para a comunidade! Parabéns!
@dpisati
@dpisati 2 жыл бұрын
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! 💖💖
@SouAndersonDavid
@SouAndersonDavid 2 жыл бұрын
"Ou classes como faziam os Incas e Astecas" KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKk
@DanielRios549
@DanielRios549 2 жыл бұрын
Essas regras dos hooks é uma das coisas mais chatas no React, vamos ser lógicos, não existe hook, isso é só um nome bonitinho, o que existe são apenas funções que vc chama como qualquer outra
@guilhermelourenco977
@guilhermelourenco977 2 жыл бұрын
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 🚀
@ebratz
@ebratz 2 жыл бұрын
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.
@marcelosilvadias3902
@marcelosilvadias3902 2 жыл бұрын
O famoso "prevState" rs .
@nickolassilva8994
@nickolassilva8994 2 жыл бұрын
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!
@jonatascarvalhoborges6175
@jonatascarvalhoborges6175 2 жыл бұрын
Ganhou meu "laique" nos incas e astecas hahahaha
@renatorodrigues2774
@renatorodrigues2774 2 жыл бұрын
Fala Diego, Obrigado pelo Video. Eu já sabia que não podia Usar, mais me convenci agora porque.
@IgorRP12
@IgorRP12 2 жыл бұрын
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!!
@jon1996xd
@jon1996xd 2 жыл бұрын
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"
@gleisonrj19
@gleisonrj19 2 жыл бұрын
Descobri quando precisei fazer uma paginação e tive que pegar o prevState kk
@afonsocarvalho3124
@afonsocarvalho3124 2 жыл бұрын
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!
@andresdosantos5310
@andresdosantos5310 2 жыл бұрын
Vi isso no Ignite
@VitorCPSsss
@VitorCPSsss 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.
@rodrig0krvalho
@rodrig0krvalho 2 жыл бұрын
Muito show!
@Cristian7Bitencourt
@Cristian7Bitencourt 2 жыл бұрын
Trabalho com React a um ano e não tinha parado pra pensar nisso, muito massa, clareou as ideias!!!!
@thiagonunesmiziara6866
@thiagonunesmiziara6866 2 жыл бұрын
Muito bom poderia fazer um de zustand
@rodrigomartins9115
@rodrigomartins9115 2 жыл бұрын
Opa, quais sao as configurações de ESLINT e Prettier você usa?
@223brunoleo
@223brunoleo 2 жыл бұрын
Fantástico! Como acho isso na documentação?
@dieegosf
@dieegosf 2 жыл бұрын
pt-br.reactjs.org/docs/hooks-rules.html#explanation
@marcelolupatini5553
@marcelolupatini5553 2 жыл бұрын
Vídeo bom
@devemprender
@devemprender 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.
@renatomarxs
@renatomarxs 2 жыл бұрын
Top
@felipekawassaki
@felipekawassaki 2 жыл бұрын
Top!
@alexalannunes
@alexalannunes 2 жыл бұрын
testei e com useCallback tambem não funciona. :) .Entendido com sucesso
@jailsvs
@jailsvs 7 ай бұрын
Boa Diegão! Parabéns pelo conteúdo!
@ruthmariia
@ruthmariia 2 жыл бұрын
Ó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
@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
@vitoroliveira8028
@vitoroliveira8028 2 жыл бұрын
Please...get a MPC and lear how to really PRODUCE!
@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
@pliniohavila
@pliniohavila 2 жыл бұрын
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 Жыл бұрын
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.
@mateusmoura1774
@mateusmoura1774 2 жыл бұрын
life is life la laa - la la la bruh
@RicardoTrevisan
@RicardoTrevisan 2 жыл бұрын
🚀🔥🔥🔥
@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
@edvaldojose.7756
@edvaldojose.7756 2 жыл бұрын
Cara isso e D+, muito bom meu velho, excelente conteudo.
@ernestoneto9166
@ernestoneto9166 Жыл бұрын
Muito interessante isso, foi bom aprender antes de tentar fazer isso kkkkkkkkkkk
@uamhenry522
@uamhenry522 2 жыл бұрын
What do I do when the channel rack becos too cluttered? If I can, how do I clear it?
@BlackListRF
@BlackListRF 2 жыл бұрын
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)
@MatheusPereira-nn9dj
@MatheusPereira-nn9dj Жыл бұрын
o que voce esta usando no tsconfig para voce nao precisar definir tipos na sua aplicação react ???
@busster_6611
@busster_6611 2 жыл бұрын
You are dope bro! Damn , thank you so much, subbed
@jeffersonbueno1168
@jeffersonbueno1168 2 жыл бұрын
foda, sabia que não funcionava mas não sabia o porque rs
@cirogomes5330
@cirogomes5330 2 жыл бұрын
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 жыл бұрын
Respondendo minha própria pergunta, dá pra fazer algo tipo assim 🤔: setCount(count => { count++; setCrazyState(count * 2); return count; });
@FAELP22
@FAELP22 Жыл бұрын
Legal a dica, tenho uma pergunta, como vc faz para colocar sua câmera na tela?
@gilbertsilva5959
@gilbertsilva5959 2 жыл бұрын
@danilovieira4442
@danilovieira4442 2 жыл бұрын
13:11 Quando o cara sabe como aproveitar os limões da vida hahaha
@rafacapoci1757
@rafacapoci1757 2 жыл бұрын
Estava com esse "problema" a umas duas semanas, esse video teria me poupado muito tempo hahaha
@ygortf
@ygortf 2 жыл бұрын
Esse formato é muito daora!! Excelente vídeo
@Pedrooedrpziul
@Pedrooedrpziul 2 жыл бұрын
Conteúdo Fenomenal !!!!
@victorpagnozi4736
@victorpagnozi4736 2 жыл бұрын
Fala Diego, qual o modelo de câmera que vc utiliza ?
@lukscsas
@lukscsas 2 жыл бұрын
mano, esse video E X P L O D I U minha mente... parabens!
@jonatasrosamoura9666
@jonatasrosamoura9666 9 ай бұрын
Muito bom, já sofri a lot por causa desses erros de hooks do react kkkk
@vane_8994
@vane_8994 2 жыл бұрын
Baita conteúdo! 🚀👏
@giovanny1850
@giovanny1850 2 жыл бұрын
"ou classes como faziam os incas e astecas" me quebrou mt mano KKKKKKKKK
@adrielschmitz
@adrielschmitz 2 жыл бұрын
Excelente explicação! Se eu tivesse tido uma explicação visual assim lá nos primórdios dos hooks teria me polpado um baita tempo!!
@0625010042
@0625010042 2 жыл бұрын
Show de bola! Conteúdo de muita qualidade. Parabéns Diego!!!
@rafaelluzz7889
@rafaelluzz7889 2 жыл бұрын
MY GMS DOES NOT soft LIKE YOURS
@maxwellalves6492
@maxwellalves6492 2 жыл бұрын
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
@xxxx3657
@xxxx3657 2 жыл бұрын
Best guy how did u get it, what torrent did u use
@raimundojunior8547
@raimundojunior8547 2 жыл бұрын
Valeu Diego, estava com dificuldade de entender no ignite, por aqui você esclareceu tudo, obrigado mesmo pela ajuda
@Viiikto
@Viiikto 2 жыл бұрын
Sensacional, adorei o lip tint
@bigardibatera
@bigardibatera 2 жыл бұрын
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
@ruanlandrade
@ruanlandrade 2 жыл бұрын
Amei o batom e o conteúdo, continua Diegão kkkkk
@dieegosf
@dieegosf 2 жыл бұрын
Que bom que gostou, está na minha paleta :)
@crazybr9630
@crazybr9630 2 жыл бұрын
Does it support for windows 10?
@CaiqueMoraes93
@CaiqueMoraes93 2 жыл бұрын
Excelente vídeo Diego! Gosto muito do seu conteúdo e didática
@EduuuardoRodrigues
@EduuuardoRodrigues 2 жыл бұрын
bro where have u been, it is so cool
@gustadev276
@gustadev276 2 жыл бұрын
Vídeo muito bom, sempre bem Diego!🚀
@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 жыл бұрын
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).
@MarcusVinicius-wz6es
@MarcusVinicius-wz6es 2 жыл бұрын
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!
@felipecabreira4321
@felipecabreira4321 2 жыл бұрын
Ótima didatica, video muito bom !
@brenodias6323
@brenodias6323 2 жыл бұрын
Thank You So Much Bud
@lorenamelor
@lorenamelor 4 күн бұрын
Excelente! 👏🏻
@fellipeemanoel3040
@fellipeemanoel3040 2 жыл бұрын
Video curtinho mas recheado de conteúdo!! Showww
@victorkihs4415
@victorkihs4415 2 жыл бұрын
Thanks so much bro.
@johnrodrigues559
@johnrodrigues559 2 жыл бұрын
Muito bom, Brabissimo
@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 жыл бұрын
React DevTools e dai nas configs tem uma opção "Highlight componentes when rerenders"
@lucasmedeiros391
@lucasmedeiros391 2 жыл бұрын
Top demais Diegão!
@darlonhenrisouza8555
@darlonhenrisouza8555 2 жыл бұрын
excelente aula diegão
@MDKohaku
@MDKohaku 2 жыл бұрын
A Rocketseat salvando dnv
@wagnersobreira8703
@wagnersobreira8703 2 жыл бұрын
Boa diego!
@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?
@dieegosf
@dieegosf 2 жыл бұрын
Exatamente
@esdrassalatiel4673
@esdrassalatiel4673 2 жыл бұрын
bangers lodies.
@thomaspalmieri3754
@thomaspalmieri3754 2 жыл бұрын
it really works!
2 жыл бұрын
Muito bom!
@albuquerquedev5200
@albuquerquedev5200 2 жыл бұрын
Show!
@italofsan
@italofsan Жыл бұрын
Excelente vídeo!
@rmscrisostomo
@rmscrisostomo 2 жыл бұрын
Caí hoje, descobri neste vídeo o porque 😂😂✌️. Obrigado pelo conteúdo.
@vitorsantana2795
@vitorsantana2795 Жыл бұрын
Sensacional Diego!! Explicação super didática e fácil 👏🏾
@saphiraxavier426
@saphiraxavier426 Жыл бұрын
me ajudou muitoo
@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!
@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
@gabrieldurr3037
@gabrieldurr3037 2 жыл бұрын
excelente 👏👏
@fabiogoncalves8597
@fabiogoncalves8597 9 ай бұрын
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!
@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!"
@khyquer
@khyquer Жыл бұрын
Show!!!
@adrianomedeiros4068
@adrianomedeiros4068 2 жыл бұрын
Cara eu estava passando nesse problema do setState igualzinho e não estava entendendo... Muito obrigado
@JeanSilvany_
@JeanSilvany_ 2 жыл бұрын
Tomei martelada o vídeo todo, mas esse final aí fez um milagre! Boa Diogão!!!
@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!!
@matteusalvesofficial
@matteusalvesofficial 2 жыл бұрын
BEEST!!!
Apresentação de Ferramentas de Modelagem de Dados
3:59
José Thiago Holanda
Рет қаралды 477
Recriando interface do Github com ReactJS | UI Clone #8
2:41:13
Rocketseat
Рет қаралды 42 М.
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 105 МЛН
pumpkins #shorts
00:39
Mr DegrEE
Рет қаралды 46 МЛН
Why using useCallback makes so much sense? | Code/Drops #13
16:44
O ERRO mais comum no React (você já fez isso)
13:26
Rocketseat
Рет қаралды 125 М.
Custom Hooks in React (Design Patterns)
12:56
Cosden Solutions
Рет қаралды 46 М.
10 React Hooks Explained // Plus Build your own from Scratch
13:15
Fireship
Рет қаралды 1,4 МЛН
TUDO que você deve estudar de JavaScript antes do React
1:25:24
Rocketseat
Рет қаралды 297 М.
Learn React Hooks: useEffect - Simply Explained!
14:07
Cosden Solutions
Рет қаралды 150 М.
Create components in this way in React (Composition Pattern)
24:47
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 105 МЛН