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"
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! 💖💖
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
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.
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!"
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!
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!
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
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!
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!!
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
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.
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!
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.
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!
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).
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
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.
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
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.
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?
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!
Ótima explicação, continuem criando esses conteúdos pois estão ajudando demais
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"
Fala Diego, Obrigado pelo Video. Eu já sabia que não podia Usar, mais me convenci agora porque.
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!!
Trabalho com React a um ano e não tinha parado pra pensar nisso, muito massa, clareou as ideias!!!!
Tomei martelada o vídeo todo, mas esse final aí fez um milagre!
Boa Diogão!!!
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! 💖💖
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 🚀
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!
Esses vídeos de conceitos de base do react são essenciais!
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
Boa Diegão! Parabéns pelo conteúdo!
Excelente explicação!
Se eu tivesse tido uma explicação visual assim lá nos primórdios dos hooks teria me polpado um baita tempo!!
Caí hoje, descobri neste vídeo o porque 😂😂✌️.
Obrigado pelo 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.
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!"
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!
Cara eu estava passando nesse problema do setState igualzinho e não estava entendendo... Muito obrigado
Valeu Diego, estava com dificuldade de entender no ignite, por aqui você esclareceu tudo, obrigado mesmo pela ajuda
Meu cérebro explodiu agora hahaha. Sabia que ele não deixava fazer isso, mas não sabia o porquê. Muito bom!!
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!
Estava com esse "problema" a umas duas semanas, esse video teria me poupado muito tempo hahaha
Cara isso e D+, muito bom meu velho, excelente conteudo.
Sensacional Diego!! Explicação super didática e fácil 👏🏾
Muito bom, já sofri a lot por causa desses erros de hooks do react kkkk
Top demais Diegão!
When I've started producing I personally have downloaded most of the plugins from there, never had problems with virus, malwares and
excelente aula diegão
Esse formato é muito daora!! Excelente vídeo
Show de bola! Conteúdo de muita qualidade. Parabéns Diego!!!
Sensacional, Diego, parabéns pelo conteúdo.
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
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!
Ganhou meu "laique" nos incas e astecas hahahaha
Vídeo muito bom, sempre bem Diego!🚀
mano, esse video E X P L O D I U minha mente... parabens!
Baita conteúdo! 🚀👏
Ótima didatica, video muito bom !
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!
Sensacional, adorei o lip tint
Conteúdo Fenomenal !!!!
Excelente vídeo Diego! Gosto muito do seu conteúdo e didática
Como sempre excelente conteúdo! Obrigado! Só uma sugestão, a música de fundo está muito alta nos vídeos, distrai bastante
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
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.
Thank You So Much Bud
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!
A Rocketseat salvando dnv
Muito show!
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.
Excelente vídeo!
Amei o batom e o conteúdo, continua Diegão kkkkk
Que bom que gostou, está na minha paleta :)
Excelente! 👏🏻
Opa, quais sao as configurações de ESLINT e Prettier você usa?
Legal a dica, tenho uma pergunta, como vc faz para colocar sua câmera na tela?
You are dope bro! Damn , thank you so much, subbed
Video curtinho mas recheado de conteúdo!! Showww
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!
Thanks so much bro.
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)
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).
Muito bom, Brabissimo
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;
});
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..
Fala Diego, qual o modelo de câmera que vc utiliza ?
Fantástico! Como acho isso na documentação?
pt-br.reactjs.org/docs/hooks-rules.html#explanation
Muito bom!
Muito bom poderia fazer um de zustand
13:11
Quando o cara sabe como aproveitar os limões da vida hahaha
o que voce esta usando no tsconfig para voce nao precisar definir tipos na sua aplicação react ???
Show!
me ajudou muitoo
Brabo !!!
Top!
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?
TB tô curioso pra saber
github.com/maykbrito/mini-video-me
Me parece que quando ele mudava de lado, ele mesmo ajustava a imagem
Vídeo bom
"ou classes como faziam os incas e astecas" me quebrou mt mano KKKKKKKKK
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
Boa diego!
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
Muito bom :)
🚀🔥🔥🔥
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
it really works!
Qual a configuração do navegador que grifa o componente quando ele é renderizado? Vi em um video como ativava mas esqueci
React DevTools e dai nas configs tem uma opção "Highlight componentes when rerenders"
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.
Best guy how did u get it, what torrent did u use
bro where have u been, it is so cool
foda, sabia que não funcionava mas não sabia o porque rs
O famoso "prevState" rs .
testei e com useCallback tambem não funciona. :) .Entendido com sucesso
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?
Exatamente
Top
What do I do when the channel rack becos too cluttered? If I can, how do I clear it?
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
Ó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