O ERRO mais comum no React (você já fez isso)

  Рет қаралды 119,546

Rocketseat

Rocketseat

Жыл бұрын

Um dos erros mais comuns no React (e você provavelmente já cometeu também) é a criação de estados derivados, que são estados criados a partir de outra informação já presente no componente.
Esses estados acabam causando renderizações desnecessárias, que podem ser substituídos facilmente por variáveis calculadas em tempo de execução.
Nesse vídeo eu coloco a mão na massa pra te mostrar como identificar os problemas e corrigi-los.
Bora codar?
-----
Conecte-se a 200mil devs e avance para o próximo nível com a nossa plataforma: rocketseat.com.br/
Cadastre-se na nossa plataforma: app.rocketseat.com.br/signup
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

Пікірлер: 413
@JavaxTv
@JavaxTv Жыл бұрын
Diego do céu, eu passei EXATAMENTE por isso hoje, e tomei a direção de ir pra uma variável normal, fui questionado e eu mesmo fiquei me questionado se era assim mesmo que deveria resolver. Esse vídeo caiu como uma luva... cara que coincidência maluca haha obrigado por esclarecer, já posso deitar mais tranquilo no travesseiro e mostrar isso pro pessoal que questionou tb :D
@dieegosf
@dieegosf Жыл бұрын
Bahh, que massa saber que o vídeo te ajudou, fico feliz demais! Bora pra cima 🚀
@Cookieukw
@Cookieukw Жыл бұрын
eu n precisei disso mas tbm notei q dava pra ussr variáveis comuns sem ser estados. inclusive dá pra usar classes tbm
@marcelolupatini5553
@marcelolupatini5553 Жыл бұрын
Eu tava com sdd de um vídeo mais assim aqui no canal da Rocket. Curto, pra passar conteúdo indo direto ao ponto e sem ser pra dizer "Se quiser se aprofundar, faça nosso programa pago". Eu já estava ficando saturado de marketing (e olha que sou aluno). Então, é bom ver um vídeo da Rocket assim xD
@myguelangello8563
@myguelangello8563 Жыл бұрын
Com certeza, gostei demais desse conteúdo com esse formato, é sempre bom variar
@rdgomt
@rdgomt Жыл бұрын
Concordo
@arnaldoquagliato8840
@arnaldoquagliato8840 Жыл бұрын
Top, curte esse formato. Continue trazendo, rápido e bem informativo.
@braddoidao8818
@braddoidao8818 Жыл бұрын
Que saudade de vídeos mais curtos com um conteúdo top. Valeu Diegão, e aparece mais vezes com videos feras assim!
@Victor5163
@Victor5163 Жыл бұрын
Sensacional! Muito obrigado pela clareza do conteúdo, demais!
@cesarsturmer8625
@cesarsturmer8625 Жыл бұрын
Muito bom, saudades desse tipo de conteúdo. Brabo
@HerlonCosta
@HerlonCosta Жыл бұрын
Solução simples, e muito prática. Sensacional!!
@gabriellennon8959
@gabriellennon8959 Жыл бұрын
Que sensacional esse vídeo, isso acontece muito e já me deparei várias vezes nesse cenário. Valeu demais pelo vídeo Diegao e rocket 🔥🚀
@mbs2488
@mbs2488 Жыл бұрын
Excelente ! Muito Bem Explicado ! ! Parabéns pelos vídeos ! ! !
@_rubenscjr
@_rubenscjr Жыл бұрын
Sensacional! Acho que acabei de passar por esse problema, e creio que esse vídeo veio em um ótimo momento, porque agora com ideia funcionando como foi planejada posso olhar essas questões de performance e ajustar erros que antes desconhecia.
@shennonf.pereira3890
@shennonf.pereira3890 Жыл бұрын
Que top! Estudei hoje exatamente esse assunto, na documentação nova do React
@pauloreis6195
@pauloreis6195 Жыл бұрын
Vídeo muito top Diego, parabéns. Traz mais vídeos nesse estilo mão na massa pfv, ajuda muitooo
@carloscoelhogti
@carloscoelhogti Жыл бұрын
Muito bom Diego. Parabens por compartilhar seu conhecimento conosco.
@ezequielcardoso2431
@ezequielcardoso2431 Жыл бұрын
Que conteúdo top, parabéns!!!
@claudimards
@claudimards Жыл бұрын
Tá maluko, domina de mais, obrigado por todo compartimento cara!
@Alan4F50
@Alan4F50 Жыл бұрын
Ótimo conteúdo, cara!! valeuu
@antoniomarcelo1645
@antoniomarcelo1645 Жыл бұрын
Como sempre uma didática de outro planeta. Sensacional
@TheSostenesg7
@TheSostenesg7 Жыл бұрын
A dica é top, mas seria o ideal usar o useMemo, com o search como dependência, para armazenar a lista filtrada. Sei que nesse exemplo o componente é só a lista com o filtro em si, mas se fosse um componente com mais algum outro state, se esse outro state mudasse, o filter seria recalculado à cada renderização, sem necessidade.
@dieegosf
@dieegosf Жыл бұрын
Claro, tem muita coisa que pode ser melhor no código, o ponto era focar no estado derivado mesmo 😊 Obrigado pelo comentário!
@drgabbo1025
@drgabbo1025 Жыл бұрын
Acredito que não tenha necessidade, o React é bem otimizado a ponto desse tipo de operação simples não prejudicar o desempenho, apenas se fosse um calculo muito pesado, até pq memoizar um valor ira ocupar endereços de memória o que pode se tornar um problema também
@birarr
@birarr Жыл бұрын
Diego sensacional como sempre! Essa dica vai fazer eu subir de nível, com certeza.
@williamroger9375
@williamroger9375 Жыл бұрын
Excelente e muito necessário esse vídeo, adorei essas dicas, confesso que eu iria fazer esse filtro exatamente da primeira forma como foi implementado, e acharia normal as duas renderizações, mas com essas dicas eu já não vou mais cometer esses erros bobos. Valeu Diegão!
@fabiosousa8678
@fabiosousa8678 Жыл бұрын
Fala Diego! Dica fantastática, esse tipo de conteúdo é muito valioso para todos nós, muito obrigado pela sua dedicação em compartilhar conosco! Grande abranço.
@cafezinhoprodev
@cafezinhoprodev Жыл бұрын
Sensacional meu velho, faz tempo que busco como resolver isso, mas nunca encontrei uma solução bem explicada como essa. Vlw Diegão!
@ChristianFerraz
@ChristianFerraz Жыл бұрын
O ignite 2022 está bem melhor que o anterior. Estou aprendendo muito, parabéns!!!
@franciscomenezes6970
@franciscomenezes6970 Жыл бұрын
Ta menos complexa as explicaçoes aprendendo entendendo muito mais.. quase terminando o modulo2
@user-zv6vl6ne9z
@user-zv6vl6ne9z Жыл бұрын
Vou comprar assim que possivel. Tenho entrevista amanha, se tudo der certo kkkk eu compro ainda esse ano.
@nikegamer2779
@nikegamer2779 Жыл бұрын
@@user-zv6vl6ne9z boa sorte man 🙌
Жыл бұрын
fiz o ignite 2020 e gostei bastante
@user-zv6vl6ne9z
@user-zv6vl6ne9z Жыл бұрын
@@nikegamer2779 vlw mano.
@ixiba
@ixiba Жыл бұрын
Parece que foi direcionado para mim esse vídeo kkkk. Perfeito Diego, obrigado!!!
@viniciusnascimento6503
@viniciusnascimento6503 Жыл бұрын
Muito massa... vou usar esse tips showw 👏👏
@DanielRios549
@DanielRios549 Жыл бұрын
Pode parecer estranho usar variáveis simples no React, mas na boa, pra mim elas são a primeira opção, sempre, sem mais nem menos, usar estado é apenas necessário quando essa variável simples não está atualizando, ai sim o uso do estado é útil, no fundo continua sendo Javascript, quanto mais coisas nativas do Javascript vc usar, melhor
@ayrtonkrizan
@ayrtonkrizan Жыл бұрын
Diegao eu programo a react a uns anos já e com certeza tem esse tipo de escolha em alguns repositórios meus rs! Muito bom esse vídeo simples e objetivo! Abs
@larissapecorari5787
@larissapecorari5787 Жыл бұрын
Nossa já cometi muito esse erro de estados derivados. Amei o vídeo, curto mas me ensinou muito. Faz mais vídeos assim Diego, continua fazendo os longos mas faz mais vídeos curtos também tratando de coisas pontuais. Hoje por exemplo eu nem teria tempo de estudar, cheia de serviço acumulado, filho, casa... mas enquanto estava rodando uma query gigante no banco consegui assistir a esse vídeo!! 😄
@MateeusSouza
@MateeusSouza Жыл бұрын
Dica muito TOP e útil 👏👏
@betasetupper6103
@betasetupper6103 Жыл бұрын
Agora ja sei porque do double rendering (!== React 18)... Tem vezes que so de abrir a pagina, ele da double rendering (fora do React 18).. Apos esta aula, vou prestar mais atenção... Bem sobre o theme do VS Code.... Eu uso o theme do Github Copilot, Mas gostei do theme que usou no video. Muito Bom... Abraços de Moçambique, Beira
@assuntograve4222
@assuntograve4222 Жыл бұрын
Kmk Compatriota kkk
@yarapolana
@yarapolana Жыл бұрын
Terra da minha mãe, que bom ver mais Moçambicanos deste lado.
@aloissailer
@aloissailer Жыл бұрын
Ótimo video, parabéns! No momento estou usando Tokyo Night no VS Code.
@DVSK1
@DVSK1 Жыл бұрын
baita vídeo, parabéns pelo conteúdo
@rsilva6
@rsilva6 Жыл бұрын
Caraca velho, já cai nisso! Nunca pensei em fazer dessa forma tão simples e eficaz! Vou começar a rever meus códigos e ajustar eles nesses pontos. Valeu Diegão.
@vinepoik
@vinepoik Жыл бұрын
Thanks bud! great video and instructions.
@PLifes
@PLifes Жыл бұрын
Boa cai recentemente! Mas a partir de agora consigo ter uma solução melhor! Valeu Diegão!
@leandroramos1990
@leandroramos1990 Жыл бұрын
Diegão quem nunca passou por isso que atire a primeira pedra haha, conteúdo simples e objetivo parabéns.
@YAHWEHROI
@YAHWEHROI Жыл бұрын
Caí e ainda caio demais nesse erro kkkkkk Excelente conteúdo, Diego. Parabéns 👏
@MeuMundoAMG
@MeuMundoAMG Жыл бұрын
Um gênio, na moral. Parabéns pelo conteúdo! A gente fica tão mal acostumado que não pensa no básico.
@SetimoRei
@SetimoRei Жыл бұрын
Hhuahuhau ja cai muito nisso! Que massa! Obrigado pelo excelente conteudo!
@WandersonSilva-bx4yu
@WandersonSilva-bx4yu Жыл бұрын
cara, por conta do áudio pensei que meu PC tinha lagado nos 11:36 kkkkkk conteúdo top Diegão, tamo junto.
@jvmachado1204
@jvmachado1204 Жыл бұрын
O pior do derived state é quando ele dá sinais falsos na UI. Um exemplo seria se essa lista de repositórios aí tivesse um coraçãozinho do lado pro usuário dar like. O like dado na listra filtrada não apareceria quando o usuário apagasse o filtro (e vice-versa), já que seriam essencialmente duas listas diferentes que só parecem ser iguais. Isso dá maior xabu.
@juserrrrr
@juserrrrr Жыл бұрын
Oq seria melhor então?
@dieegosf
@dieegosf Жыл бұрын
Boa, faz total sentido!
@observermind
@observermind Жыл бұрын
Parabéns pelo video man! Fiquei incomodado com o tanto de render que o react fazia. Comecei agora a estudar, mas que bom que podemos usar o js/ts pra resolver esses problemas, achei que realmente era necessário renderizar.
@caiocosenzaofficial
@caiocosenzaofficial Жыл бұрын
Nossa que vídeo toppp, eu com certeza cai nesse erro várias vezes. Mto obg pelo conteúdo Diego😃👊
@eltonsantosoficial
@eltonsantosoficial Жыл бұрын
Eu aprendi a fazer daquele jeito com vc msm kkkkkk Programacao eh muito dinamica ne, a msm pessoa q ensina de uma forma, tempo dps ensina de outra forma melhor. Muito massa! Parabens pelo conteudo. Gosto muito desse tipo de video. Abraco
@halisterfernando9160
@halisterfernando9160 Жыл бұрын
Super interessante! Quando eu estava aprendendo React na época, eu criei uma função que fazia uma cópia do Array salvo no estado pra fazer os filtros a partir dessa cópia, o retorno dela funcionava como a variável criada no vídeo
@AldemirSouzai9
@AldemirSouzai9 Жыл бұрын
Cara muito bom! Dicas incriveis \0/
@TheManoDouglas
@TheManoDouglas Жыл бұрын
Meu "padrinho" me falou exatamente isso ontem, me explicou e tal e hj caio nesse vídeo. KZbin ta me espionando em.
@pauloreis7093
@pauloreis7093 Жыл бұрын
Vi isso acontecer na prática hoje. Deve ser mais comum do que se pensa! 👏Ótimo conteúdo.
@devtechenews
@devtechenews Жыл бұрын
Fala Diego! Cara, estava tentando melhorar um desempenho de uma página que estava fazendo requisição demais. E abri o KZbin, e me deparo com essa solução de cara. Sensacional! Parabéns pelo ótimo conteúdo, como sempre!
@develolder
@develolder Жыл бұрын
Top.. vlw, eu já cai nessa algumas vezes… Bora refatorar rsrsrs. Obrigado Diego
@luispaulopastor1451
@luispaulopastor1451 Жыл бұрын
Muito legal esse tipo de video!
@rennanoliveira3443
@rennanoliveira3443 Жыл бұрын
Que vídeo top, amanhã mesmo já vou dar aquela revisada no projeto da firma 🚀
@iury664
@iury664 Жыл бұрын
muito bacana, tenho uns repositórios que provavelmente tem esse erro ai, vou tentar aplicar. Nem sabia que tinha um nome esse erro kkkk valeu mesmo.
@lucasmoreira1226
@lucasmoreira1226 Жыл бұрын
Diegão, me passa depois o café que tu toma para ver se fico um gênio desse jeito, uma solução tão simples e poderosa que me faz melhorar até a logica por traz do render e me faz pensar de forma mais analítica as renderização, muito massa esse vídeo
@rafacapoci1757
@rafacapoci1757 Жыл бұрын
Ótima dica que serve para muitas situações
@IgorSGZ
@IgorSGZ Жыл бұрын
Gênio 🤯! Eu nunca tinha pensado nisso
@vieiramaicon
@vieiramaicon Жыл бұрын
Rapaz, que dica simples, mas extremamente útil. Como tou aprendendo a ferramenta, tava caindo nisso direto.
@hansolo-7625
@hansolo-7625 Жыл бұрын
Já passei por isso kkk e eu via o problema mas não sabia resolver!! Vc é top!
@lithe-cryptosenft5590
@lithe-cryptosenft5590 Жыл бұрын
Mais um vídeo incrível da Rockeseat, o Diego manja muito de React não tem como... E o tema do vscode que eu to usando atualmente é o Kanagawa, é o tema mais bonito do VSCODE que eu já usei.
@pablooliveira1220
@pablooliveira1220 Жыл бұрын
Top Sempre caia nessa !
@johnrodrigues559
@johnrodrigues559 Жыл бұрын
Bom demais , que conteúdo irado
@giuseppefantoni6846
@giuseppefantoni6846 Жыл бұрын
Faz mais videos de dicas como essa. Faz uns com umas dicas avançadas pff. Top d+ o video
@carlinhodev
@carlinhodev Жыл бұрын
Já fiz isso várias vezes, ótimo conteúdo
@mayconalves360
@mayconalves360 Жыл бұрын
Já passei por isso algumas vezes, inclusive no último projeto que eu estava, isso causava uma lentidão no form por quê o form era gigante. Muito bom o vídeo.
@JoaoVictor-ve1rb
@JoaoVictor-ve1rb Жыл бұрын
Conteúdo top demais, novembro vou ser calouro na turma do ignite 🚀
@nazirmudumane8830
@nazirmudumane8830 Жыл бұрын
Meu Deus, eu sempre cai nessa. Muito obrigado Diegooooo❤
@DjEdu28
@DjEdu28 Жыл бұрын
Fico feliz de nunca ter pensado nesse método errado
@DjEdu28
@DjEdu28 Жыл бұрын
Na inocência já fazia o correto
@gilvanbatista8402
@gilvanbatista8402 Жыл бұрын
Tava passando por isso hoje mais cedo muito obrigado por explicar!!
@Marcelo-ju7ex
@Marcelo-ju7ex Жыл бұрын
Fala Diegao! Um tema do vscode q já uso tem muitos anos é o Fantastic, dentro desse tema existe vários outros temas, eu uso mais a verdade material do Fantastic, mas todas as opções dele são fantásticas!
@BrunolimaMe
@BrunolimaMe Жыл бұрын
Excelente aula!!! E poderia reduzir mais o código, colocando para filteredRepos receber repos, caso condicional fosse false. Assim, removeria a outra condicional da listagem, fazendo o map apenas em filteredRepos.
@TheBrunoleocoelho
@TheBrunoleocoelho Жыл бұрын
Parabéns pelo vídeo, simples e objetivo, mas "matou na mosca"! E é por essas e outras que tem tanto app ruim rodando por aí, e frustrando usuários (e outros devs que fazem manutenção no código)! Uma grande quantidade de devs "Reacters" não entende disso aí...
@raydes.menson
@raydes.menson 5 ай бұрын
Muito obrigado pelo video... de um ano... sou iniciante basicamente e me deparei com isso, bateu uma precupação enão consegui resolver... agora vou verificar se consigo diminuir o número de renderizações dos meus componentes... rsrsr...
@joaojeeferdasilvafelix3817
@joaojeeferdasilvafelix3817 Жыл бұрын
Já caí nessa. kkk. Muito boa essa abordagem
@leandrojackson9631
@leandrojackson9631 Жыл бұрын
Maaaano do céu kkkkkk, eu sempre cometi esse erro, que massa!!! Quando vi o thumbnail do video, já imaginei, tou errando, certeza kkkkk. Valeu diego!!
@carloseduardopachecocasara5803
@carloseduardopachecocasara5803 Жыл бұрын
Uma dica bem legal tbm e fugindo um pouco do assunto XD é quando precisar fazer essa pesquisa conforme o usuário digita para uma API é comum usar um debouce! Facilita muito o trabalho e da um resultado bem legal. Existem algumas Libs que para auxiliar na utilização do mesmo mas também é possível criar um Hook especifico para usar no projeto. Vídeo top demais, parabéns!
@fernandolaice8256
@fernandolaice8256 Жыл бұрын
Poxa valeu...eu já cometi muito esse erro. Valeu Diego
@luisfernando3405
@luisfernando3405 Жыл бұрын
Cara, recém estou iniciando a treinar para usar React, e este entendimento vai me ajudar bastante! Tô no Ignite, 😉
@JuiMDev
@JuiMDev 5 ай бұрын
Tudo que vc falou estava fazendo até agora KKK muito bom o vídeo.
@luancordeiro2914
@luancordeiro2914 7 ай бұрын
Muito bom, valeu pela dica. Quando estamos com a Internet rápida nem percebemos, mas se configurar o slow 3g no devtools começamos a perceber esses problemas que passam despercebidos as vezes.
@alamo_DevFlow
@alamo_DevFlow Жыл бұрын
Ah, kkkk amanhã mesmo já vou arrumar o filtro que eu fiz na empresa kkkkkkkkkkkk. Obg pelo vídeo.
@marcosgomes3524
@marcosgomes3524 Жыл бұрын
Caramba!!! Muito obrigado, eu te digo que quando migrei pra React "fiquei cego" com as useStates... Lá no meu trabalho a gente considera heresia usar variáveis assim... Mas faz muito sentido, o código fica mais limpo e otimiza a aplicação!! MUITO OBRIGADO PELO CONTEÚDO!
@matheusmaske7791
@matheusmaske7791 Жыл бұрын
Não já fiz, como pra mim era o melhor jeito de se fazer kkkkkk valeu Diego, ótimo vídeo!
@TiagoFerezin_deSTZ
@TiagoFerezin_deSTZ 2 күн бұрын
Muito bom o video, quero mais
@fabiobalan3583
@fabiobalan3583 Жыл бұрын
Esse Diego é MONSTRO!
@EdsonSilva-qr5gr
@EdsonSilva-qr5gr Жыл бұрын
Só lembrei das computed do Vue que fazem isso, não sabia como fazer a mesma coisa no React, muito obrigado pela explicação
@samueloliveira4465
@samueloliveira4465 Жыл бұрын
Recomendação de vídeo: Poderia fazer um vídeo sobre responsividade no tailwindcss
@zerohum6447
@zerohum6447 Жыл бұрын
Very helpful..thanks a lot.
@nathancaio6375
@nathancaio6375 Жыл бұрын
Já caí e nem sabia que tinha caído, salvou demais hein Diegão
@yomarcoslinss
@yomarcoslinss Жыл бұрын
This helped a lot thank you
@Os3t4God
@Os3t4God Жыл бұрын
Cai nessa semana passada com RN kkkkkk Valeu pela dica Diego!! Vou refatorar meu codigo.
@thalynnyrabelo2452
@thalynnyrabelo2452 Жыл бұрын
Muito show!!
@willian.schenkel
@willian.schenkel Жыл бұрын
Caraca muito bom! Eu cai nisso esses dias!
@mariovarela99
@mariovarela99 Жыл бұрын
Massa, massa, massa, massa, muito massa. Brigadão Diego. Já cometi mesmo esse lapso, se é que podemos considerar isso um erro néh.😅
@misaruto
@misaruto Жыл бұрын
Que video delicinha kkkk Tema VScode: Atualmente to usando o Omni da Rocketseat, depois de ficar muito tempo usando o Dracula Text Only.
@luizpaulo2240
@luizpaulo2240 Жыл бұрын
Thanks so much bro.
@acm.marques
@acm.marques Жыл бұрын
Top D+ Diego e já devo ter caio nessas pegadinhas hehehe, mas com react native
@BrunoFilho
@BrunoFilho Жыл бұрын
Atualmente estou trabalhando em um projeto que cometemos muito esse erro. Já vamos começar corrigir pra já kkkkkkkkkkkkkkkk Valeuzão Diegola!
@furkeys114
@furkeys114 Жыл бұрын
Eu não estava criando estados derivados pois sabia da performance, mas utilizei o truque de usar uma varável com condicional ao invés de fazer "data.filter().map()", usei apenas filteredVar.map(), deixou meu código mais bonito e "Matou" uma das várias renderizações desnecessárias que eu tava tendo. Valeu Diegão!
@talitaazevedo9187
@talitaazevedo9187 Жыл бұрын
Curti seu vídeo Diego, parabéns, sobre temas o synthwave 84 é bem legal também, com a fonte CodeNewRoman nerd fonts fica muito bonito.
@celioribeiro5705
@celioribeiro5705 Жыл бұрын
Hey. Seriously. Thank you. I just downloaded soft and I can CLEARLY see why your vid was recomnded. You're an aweso intro into
Duas regras que você precisa cumprir com hooks no React
17:45
Rocketseat
Рет қаралды 41 М.
ОСКАР ИСПОРТИЛ ДЖОНИ ЖИЗНЬ 😢 @lenta_com
01:01
Khó thế mà cũng làm được || How did the police do that? #shorts
01:00
Я нашел кто меня пранкует!
00:51
Аришнев
Рет қаралды 2,8 МЛН
Precisamos falar sobre boas práticas...
26:24
Dev Junior Alves
Рет қаралды 2,5 М.
Esse PATTERN do React pode te salvar (+ lib secreta)
12:33
Rocketseat
Рет қаралды 22 М.
Se Você Passar Por Esses 5 Desafios, Você Aprendeu React JS
17:23
Filipe Deschamps
Рет қаралды 316 М.
Formulários no React 19 com Server Actions (com validação)
14:02
Utilizando React.memo | Code/Drops #18
19:20
Rocketseat
Рет қаралды 88 М.
TUDO que você deve estudar de JavaScript antes do React
1:25:24
Rocketseat
Рет қаралды 279 М.
10 React Antipatterns to Avoid - Code This, Not That!
8:55
Fireship
Рет қаралды 721 М.
Learn React Hooks: useMemo - Simply Explained!
13:41
Cosden Solutions
Рет қаралды 82 М.
The React Interview Questions You need to Know
21:29
CoderOne
Рет қаралды 23 М.