Duas regras que você precisa cumprir com hooks no React
ฝัง
- เผยแพร่เมื่อ 26 ส.ค. 2024
- 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
Fala Diego! Continua trazendo conteúdos desse porte que ajuda muito a galera. Abraço!
Pode deixar!
Esses vídeos com conceitos mais avançados são muito importantes para a comunidade!
Parabéns!
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.
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"
Boa Diegão! Parabéns pelo conteúdo!
Fala Diego, Obrigado pelo Video. Eu já sabia que não podia Usar, mais me convenci agora porque.
Trabalho com React a um ano e não tinha parado pra pensar nisso, muito massa, clareou as ideias!!!!
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!!
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! 💖💖
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!
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 🚀
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
Excelente explicação!
Se eu tivesse tido uma explicação visual assim lá nos primórdios dos hooks teria me polpado um baita tempo!!
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!
Valeu Diego, estava com dificuldade de entender no ignite, por aqui você esclareceu tudo, obrigado mesmo pela ajuda
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!
Estava com esse "problema" a umas duas semanas, esse video teria me poupado muito tempo hahaha
Conteúdo Fenomenal !!!!
Baita conteúdo! 🚀👏
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.
Esses vídeos de conceitos de base do react são essenciais!
Show de bola! Conteúdo de muita qualidade. Parabéns Diego!!!
Tomei martelada o vídeo todo, mas esse final aí fez um milagre!
Boa Diogão!!!
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!
Cara isso e D+, muito bom meu velho, excelente conteudo.
Conteúdo top ein Diegão, e esse teclado ein, já faz uns meses que ta nessa kkkkk
Consegui resolver essa semana! (não da forma que eu queria, se é que me entendes hehe)
Muito bom, já sofri a lot por causa desses erros de hooks do react kkkk
Ganhou meu "laique" nos incas e astecas hahahaha
Esse formato é muito daora!! Excelente vídeo
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.
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!!
Que bom que curtiu!
Top demais Diegão!
Amei o batom e o conteúdo, continua Diegão kkkkk
Que bom que gostou, está na minha paleta :)
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
excelente aula diegão
Ótima didatica, video muito bom !
Vídeo muito bom, sempre bem Diego!🚀
Sensacional Diego!! Explicação super didática e fácil 👏🏾
Excelente vídeo Diego! Gosto muito do seu conteúdo e didática
Meu cérebro explodiu agora hahaha. Sabia que ele não deixava fazer isso, mas não sabia o porquê. Muito bom!!
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!
Cara eu estava passando nesse problema do setState igualzinho e não estava entendendo... Muito obrigado
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!"
Caí hoje, descobri neste vídeo o porque 😂😂✌️.
Obrigado pelo conteúdo.
Sensacional, Diego, parabéns pelo conteúdo.
Muito bom poderia fazer um de zustand
Muito show!
When I've started producing I personally have downloaded most of the plugins from there, never had problems with virus, malwares and
Sensacional, adorei o lip tint
mano, esse video E X P L O D I U minha mente... parabens!
Muito bom, Brabissimo
A Rocketseat salvando dnv
Excelente vídeo!
Muito bom!
Thank You So Much Bud
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
Show!
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!
Video curtinho mas recheado de conteúdo!! Showww
Como sempre excelente conteúdo! Obrigado! Só uma sugestão, a música de fundo está muito alta nos vídeos, distrai bastante
Top!
You are dope bro! Damn , thank you so much, subbed
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...
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.
13:11
Quando o cara sabe como aproveitar os limões da vida hahaha
Brabo !!!
excelente 👏👏
Boa diego!
Como voce e tao bom diego? Em sabedoria.
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.
Link esta indisponivel..
Thanks so much bro.
🚀🔥🔥🔥
Muito bom :)
Vídeo bom
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!
Descobri quando precisei fazer uma paginação e tive que pegar o prevState kk
"ou classes como faziam os incas e astecas" me quebrou mt mano KKKKKKKKK
Top
Legal a dica, tenho uma pergunta, como vc faz para colocar sua câmera na tela?
me ajudou muitoo
Opa, quais sao as configurações de ESLINT e Prettier você usa?
bro where have u been, it is so cool
Fantástico! Como acho isso na documentação?
pt-br.reactjs.org/docs/hooks-rules.html#explanation
it really works!
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
Respondendo minha própria pergunta, dá pra fazer algo tipo assim 🤔:
setCount(count => {
count++;
setCrazyState(count * 2);
return count;
});
o que voce esta usando no tsconfig para voce nao precisar definir tipos na sua aplicação react ???
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.
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).
O condicional ainda ficou confuso pra mim o motivo, mas o state na function deu pra entender bacanudo.
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.
Acabei voltando o vídeo para entender melhor e ficou super claro. Parabéns pelo conteúdo Diego.
foda, sabia que não funcionava mas não sabia o porque rs
testei e com useCallback tambem não funciona. :) .Entendido com sucesso
Fala Diego, qual o modelo de câmera que vc utiliza ?
Muito interessante isso, foi bom aprender antes de tentar fazer isso kkkkkkkkkkk
What do I do when the channel rack becos too cluttered? If I can, how do I clear it?
O famoso "prevState" rs .
top
Best guy how did u get it, what torrent did u use
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
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
A referência é a própria documentação: pt-br.reactjs.org/docs/hooks-rules.html#explanation
Seria interessante deixar alguns fontes na descrição, senti falta
A fonte é sempre a documentação pt-br.reactjs.org/docs/hooks-rules.html#explanation
Does it support for windows 10?
Ó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.
Obrigado pelo feedback
eu nem percebi a música de fundo sinceramente
Vi isso no Ignite