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

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ก.ค. 2022
  • 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

ความคิดเห็น • 412

  • @JavaxTv
    @JavaxTv ปีที่แล้ว +315

    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 ปีที่แล้ว +28

      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 ปีที่แล้ว +130

    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 ปีที่แล้ว +5

      Com certeza, gostei demais desse conteúdo com esse formato, é sempre bom variar

    • @rdgomt
      @rdgomt ปีที่แล้ว +1

      Concordo

  • @braddoidao8818
    @braddoidao8818 ปีที่แล้ว +12

    Que saudade de vídeos mais curtos com um conteúdo top. Valeu Diegão, e aparece mais vezes com videos feras assim!

  • @jvmachado1204
    @jvmachado1204 ปีที่แล้ว +15

    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 ปีที่แล้ว +3

      Boa, faz total sentido!

  • @pauloreis6195
    @pauloreis6195 ปีที่แล้ว +1

    Vídeo muito top Diego, parabéns. Traz mais vídeos nesse estilo mão na massa pfv, ajuda muitooo

  • @_rubenscjr
    @_rubenscjr ปีที่แล้ว +1

    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.

  • @gabriellennon8959
    @gabriellennon8959 ปีที่แล้ว +2

    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 🔥🚀

  • @williamroger9375
    @williamroger9375 ปีที่แล้ว +2

    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!

  • @TheSostenesg7
    @TheSostenesg7 ปีที่แล้ว +28

    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 ปีที่แล้ว +9

      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

  • @DanielRios549
    @DanielRios549 ปีที่แล้ว +16

    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

  • @arnaldoquagliato8840
    @arnaldoquagliato8840 ปีที่แล้ว +1

    Top, curte esse formato. Continue trazendo, rápido e bem informativo.

  • @ChristianFerraz
    @ChristianFerraz ปีที่แล้ว +32

    O ignite 2022 está bem melhor que o anterior. Estou aprendendo muito, parabéns!!!

    • @franciscomenezes6970
      @franciscomenezes6970 ปีที่แล้ว +1

      Ta menos complexa as explicaçoes aprendendo entendendo muito mais.. quase terminando o modulo2

    • @user-zv6vl6ne9z
      @user-zv6vl6ne9z ปีที่แล้ว +5

      Vou comprar assim que possivel.
      Tenho entrevista amanha, se tudo der certo kkkk eu compro ainda esse ano.

    • @nikegamer2779
      @nikegamer2779 ปีที่แล้ว +1

      @@user-zv6vl6ne9z boa sorte man 🙌

    •  ปีที่แล้ว

      fiz o ignite 2020 e gostei bastante

    • @user-zv6vl6ne9z
      @user-zv6vl6ne9z ปีที่แล้ว

      @@nikegamer2779 vlw mano.

  • @shennonf.pereira3890
    @shennonf.pereira3890 ปีที่แล้ว +1

    Que top! Estudei hoje exatamente esse assunto, na documentação nova do React

  • @fabiosousa8678
    @fabiosousa8678 ปีที่แล้ว +1

    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.

  • @Victor5163
    @Victor5163 ปีที่แล้ว +1

    Sensacional! Muito obrigado pela clareza do conteúdo, demais!

  • @betasetupper6103
    @betasetupper6103 ปีที่แล้ว +28

    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 ปีที่แล้ว +1

      Kmk Compatriota kkk

    • @yarapolana
      @yarapolana ปีที่แล้ว

      Terra da minha mãe, que bom ver mais Moçambicanos deste lado.

  • @larissapecorari5787
    @larissapecorari5787 ปีที่แล้ว +1

    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!! 😄

  • @leandroramos1990
    @leandroramos1990 ปีที่แล้ว +2

    Diegão quem nunca passou por isso que atire a primeira pedra haha, conteúdo simples e objetivo parabéns.

  • @cesarsturmer8625
    @cesarsturmer8625 ปีที่แล้ว +1

    Muito bom, saudades desse tipo de conteúdo. Brabo

  • @carloscoelhogti
    @carloscoelhogti ปีที่แล้ว +1

    Muito bom Diego. Parabens por compartilhar seu conhecimento conosco.

  • @mayconalves360
    @mayconalves360 ปีที่แล้ว +1

    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.

  • @claudimards
    @claudimards ปีที่แล้ว +1

    Tá maluko, domina de mais, obrigado por todo compartimento cara!

  • @cafezinhoprodev
    @cafezinhoprodev ปีที่แล้ว +1

    Sensacional meu velho, faz tempo que busco como resolver isso, mas nunca encontrei uma solução bem explicada como essa. Vlw Diegão!

  • @birarr
    @birarr ปีที่แล้ว +1

    Diego sensacional como sempre! Essa dica vai fazer eu subir de nível, com certeza.

  • @ayrtonkrizan
    @ayrtonkrizan ปีที่แล้ว +1

    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

  • @MeuMundoAMG
    @MeuMundoAMG ปีที่แล้ว +1

    Um gênio, na moral. Parabéns pelo conteúdo! A gente fica tão mal acostumado que não pensa no básico.

  • @antoniomarcelo1645
    @antoniomarcelo1645 ปีที่แล้ว +1

    Como sempre uma didática de outro planeta. Sensacional

  • @rsilva6
    @rsilva6 ปีที่แล้ว +1

    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.

  • @eltonsantosoficial
    @eltonsantosoficial ปีที่แล้ว +2

    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

  • @BrunolimaMe
    @BrunolimaMe ปีที่แล้ว +2

    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.

  • @Marcelo-ju7ex
    @Marcelo-ju7ex ปีที่แล้ว +3

    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!

  • @devtechenews
    @devtechenews ปีที่แล้ว +1

    Fala Diego!
    Cara, estava tentando melhorar um desempenho de uma página que estava fazendo requisição demais.
    E abri o TH-cam, e me deparo com essa solução de cara. Sensacional!
    Parabéns pelo ótimo conteúdo, como sempre!

  • @observermind
    @observermind ปีที่แล้ว +1

    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.

  • @ixiba
    @ixiba ปีที่แล้ว +1

    Parece que foi direcionado para mim esse vídeo kkkk. Perfeito Diego, obrigado!!!

  • @aloissailer
    @aloissailer ปีที่แล้ว +1

    Ótimo video, parabéns! No momento estou usando Tokyo Night no VS Code.

  • @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

  • @WandersonSilva-bx4yu
    @WandersonSilva-bx4yu ปีที่แล้ว +1

    cara, por conta do áudio pensei que meu PC tinha lagado nos 11:36 kkkkkk
    conteúdo top Diegão, tamo junto.

  • @lithe-cryptosenft5590
    @lithe-cryptosenft5590 ปีที่แล้ว +3

    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.

  • @adrielschmitz
    @adrielschmitz ปีที่แล้ว +8

    Outro ponto que gostaria de contribuir é sobre setar o state no instante em que o usuário digita... você não precisa fazer isso, pode-se usar, por exemplo, uma estratégia de debounce (se não sabe o que é, é uma boa hora pra pesquisar) e só buscar quando o usuário tiver certeza do que ele quer. Nesse caso aí é uma dumpList, o JS faz esse filter em um piscar de olhos, mas pensa que você precisa fazer essa busca no banco e cada letra digitada seria uma requisição.

    • @dieegosf
      @dieegosf ปีที่แล้ว +1

      Sim, existem mil coisas que poderiam ser diferentes, mas o ponto do vídeo é exclusivamente falar sobre estados derivados

    • @henriquemagno9326
      @henriquemagno9326 ปีที่แล้ว +3

      @@dieegosf Verdade, ainda bem que ele avisou no inicio do comentário que era OUTRO ponto

    • @vitorhugo4528
      @vitorhugo4528 ปีที่แล้ว

      normalmente eu faço requisições direto para api, onde cada letra é uma requisição, de fato isso me deixou bem pensativo sobre como pode ser um mal uso.

  • @giuseppefantoni6846
    @giuseppefantoni6846 ปีที่แล้ว +2

    Faz mais videos de dicas como essa. Faz uns com umas dicas avançadas pff. Top d+ o video

  • @mbs2488
    @mbs2488 ปีที่แล้ว

    Excelente ! Muito Bem Explicado ! ! Parabéns pelos vídeos ! ! !

  • @YAHWEHROI
    @YAHWEHROI ปีที่แล้ว +1

    Caí e ainda caio demais nesse erro kkkkkk
    Excelente conteúdo, Diego. Parabéns 👏

  • @lucasdepaula9744
    @lucasdepaula9744 ปีที่แล้ว +4

    aprendi isso recentemente na marra.
    Uma das coisas q podia ter feito para melhorar ainda é em vez de ter 2 states com o arr dos repos voce poderia ter apenas 1:
    const reposToShow = search.length > 0 ? repos.filter(...) : repos;
    sendo assim vc evita aquele ternário dentro do JSX

    • @me.dwesley
      @me.dwesley ปีที่แล้ว

      Boa solução!

    • @shadowsplay1852
      @shadowsplay1852 ปีที่แล้ว

      Isso não fere a regra de manipulação de state que o próprio React determina, onde não é recomendado manipulação no mesmo state. sendo que se houver alguma modificação no estado ao qual vc precisa manipular, seria de bom uso, você criar um "clone" para armazenar as manipulações? Me explique se eu estiver errado por gentileza.

  • @HerlonCosta
    @HerlonCosta ปีที่แล้ว

    Solução simples, e muito prática. Sensacional!!

  • @vieiramaicon
    @vieiramaicon ปีที่แล้ว +1

    Rapaz, que dica simples, mas extremamente útil. Como tou aprendendo a ferramenta, tava caindo nisso direto.

  • @Alan4F50
    @Alan4F50 ปีที่แล้ว +1

    Ótimo conteúdo, cara!! valeuu

  • @ezequielcardoso2431
    @ezequielcardoso2431 ปีที่แล้ว +1

    Que conteúdo top, parabéns!!!

  • @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

  • @pauloreis7093
    @pauloreis7093 ปีที่แล้ว +1

    Vi isso acontecer na prática hoje. Deve ser mais comum do que se pensa! 👏Ótimo conteúdo.

  • @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.

  • @marcelolupatini5553
    @marcelolupatini5553 ปีที่แล้ว +3

    12:38 Até onde me lembro eu não caí, mas é talvez sim e é bom ficar atento porque isso, além de poder diminuir na performance em alguns casos, pode poluir o código com comandos desnecessários

  • @EdsonSilva-qr5gr
    @EdsonSilva-qr5gr ปีที่แล้ว +1

    Só lembrei das computed do Vue que fazem isso, não sabia como fazer a mesma coisa no React, muito obrigado pela explicação

  • @TheBrunoleocoelho
    @TheBrunoleocoelho ปีที่แล้ว +1

    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í...

  • @malujuartes
    @malujuartes ปีที่แล้ว +1

    Diego, parabéns novamente... Sua didática e conhecimento sempre nos surpreende. Como vc pediu, vai aí minha sugestão: como criar pacotes(libs) react + typescript para npm / yarn. Se vc já tem esse conteúdo, me indica aqui por favor...Abraços e parabéns!

    • @dieegosf
      @dieegosf ปีที่แล้ว

      Boooooa, é um dos vídeos que tenho na lista aqui pra gravação!!

  • @marcosgomes3524
    @marcosgomes3524 ปีที่แล้ว +1

    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!

  • @PLifes
    @PLifes ปีที่แล้ว +1

    Boa cai recentemente! Mas a partir de agora consigo ter uma solução melhor! Valeu Diegão!

  • @DVSK1
    @DVSK1 ปีที่แล้ว +1

    baita vídeo, parabéns pelo conteúdo

  • @JoaoVictor-ve1rb
    @JoaoVictor-ve1rb ปีที่แล้ว +1

    Conteúdo top demais, novembro vou ser calouro na turma do ignite 🚀

  • @caiocosenza2023
    @caiocosenza2023 ปีที่แล้ว +1

    Nossa que vídeo toppp, eu com certeza cai nesse erro várias vezes. Mto obg pelo conteúdo 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!

  • @BrunoFilho
    @BrunoFilho ปีที่แล้ว +2

    Atualmente estou trabalhando em um projeto que cometemos muito esse erro. Já vamos começar corrigir pra já kkkkkkkkkkkkkkkk Valeuzão Diegola!

  • @develolder
    @develolder ปีที่แล้ว +1

    Top.. vlw, eu já cai nessa algumas vezes… Bora refatorar rsrsrs. Obrigado Diego

  • @hansolo-7625
    @hansolo-7625 ปีที่แล้ว +1

    Já passei por isso kkk e eu via o problema mas não sabia resolver!! Vc é top!

  • @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.

  • @rennanoliveira3443
    @rennanoliveira3443 ปีที่แล้ว +1

    Que vídeo top, amanhã mesmo já vou dar aquela revisada no projeto da firma 🚀

  • @furkeys114
    @furkeys114 ปีที่แล้ว +1

    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!

  • @viniciusnascimento6503
    @viniciusnascimento6503 ปีที่แล้ว +1

    Muito massa... vou usar esse tips showw 👏👏

  • @TheManoDouglas
    @TheManoDouglas ปีที่แล้ว +1

    Meu "padrinho" me falou exatamente isso ontem, me explicou e tal e hj caio nesse vídeo. TH-cam ta me espionando em.

  • @pabloalan1656
    @pabloalan1656 ปีที่แล้ว +1

    Da para notar muito mais a diferença que não utilizar esse derived state em aplicações grandes, com muitos dados vindo do banco de dados, e vai por mim, ter que renderizar duas vezes seguidas uma pilha enorme de dados vai fazer muita diferença na performance da sua aplicação. Boa dica Diegão, queria eu ter encontrado de cara um tutorial como esse quando tive esse tipo de problema.

  • @MateeusSouza
    @MateeusSouza ปีที่แล้ว +1

    Dica muito TOP e útil 👏👏

  • @SetimoRei
    @SetimoRei ปีที่แล้ว +1

    Hhuahuhau ja cai muito nisso! Que massa! Obrigado pelo excelente conteudo!

  • @talitaazevedo9187
    @talitaazevedo9187 ปีที่แล้ว +1

    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.

  • @rafacapoci1757
    @rafacapoci1757 ปีที่แล้ว +1

    Ótima dica que serve para muitas situações

  • @gilvanbatista8402
    @gilvanbatista8402 ปีที่แล้ว

    Tava passando por isso hoje mais cedo muito obrigado por explicar!!

  • @GustavoHenrique-pk8ed
    @GustavoHenrique-pk8ed ปีที่แล้ว +2

    Aula incrivel! Só acho que poderia ter deixado a música de fundo mais baixa.

    • @dieegosf
      @dieegosf ปีที่แล้ว +1

      Valeu pelo feedback!

  • @DjEdu28
    @DjEdu28 ปีที่แล้ว +1

    Fico feliz de nunca ter pensado nesse método errado

    • @DjEdu28
      @DjEdu28 ปีที่แล้ว

      Na inocência já fazia o correto

  • @misaruto
    @misaruto ปีที่แล้ว +1

    Que video delicinha kkkk
    Tema VScode: Atualmente to usando o Omni da Rocketseat, depois de ficar muito tempo usando o Dracula Text Only.

  • @vinepoik
    @vinepoik ปีที่แล้ว

    Thanks bud! great video and instructions.

  • @joaojeeferdasilvafelix3817
    @joaojeeferdasilvafelix3817 ปีที่แล้ว +1

    Já caí nessa. kkk. Muito boa essa abordagem

  • @valdogt1
    @valdogt1 ปีที่แล้ว +1

    Passo por isso todos os dias.. nem preciso olhar o código novamente pra confirmar.. é uma loucura só kkkkkk Excelente conteúdo

  • @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...

  • @PxonMG
    @PxonMG ปีที่แล้ว +2

    Muitas vezes dentro do componente existem vários outros estados que quando mudados forçarão o reprocessamento da variável que utiliza o filter, para evitar isso é possível utilizar o hook useMemo e declarar quais são as dependências de estado para determinado processamento.

    • @MateeusSouza
      @MateeusSouza ปีที่แล้ว +1

      Boa observação. Quando o valor da variável exige uma certa complexidade no processamento e o componente possui outros estados e/ou props que forçarão a renderização, talvez seja mais indicado utilizar o useMemo para evitar processamentos desnecessários.

    • @TheSostenesg7
      @TheSostenesg7 ปีที่แล้ว

      Justamente o que havia comentado, acho que ele deveria ter citado isso, pq muitos iniciantes vão tacar filter/map/reduce em componentes com vários states sem fazer memoização.

  • @nathancaio6375
    @nathancaio6375 ปีที่แล้ว +1

    Já caí e nem sabia que tinha caído, salvou demais hein Diegão

  • @matheusmaske7791
    @matheusmaske7791 ปีที่แล้ว +1

    Não já fiz, como pra mim era o melhor jeito de se fazer kkkkkk valeu Diego, ótimo vídeo!

  • @AldemirSouzai9
    @AldemirSouzai9 ปีที่แล้ว +1

    Cara muito bom! Dicas incriveis \0/

  • @carlinhodev
    @carlinhodev ปีที่แล้ว +1

    Já fiz isso várias vezes, ótimo conteúdo

  • @smile4560
    @smile4560 ปีที่แล้ว +1

    Que show, eu geralmente fazia esse tipo de validação com variavéis mesmo mas sempre me perguntava se eu estava fazendo errado porque sempre via em outros códigos um useEffect KKK
    claro que eu não tinha certeza do que estava fazendo, mas me perguntava porque eu realmente precisária de um um useEffect pra fazer essa validação se já temos os dados no estado.

  • @luispaulopastor1451
    @luispaulopastor1451 ปีที่แล้ว +1

    Muito legal esse tipo de video!

  • @leandrojackson9631
    @leandrojackson9631 ปีที่แล้ว +1

    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!!

  • @samueloliveira4465
    @samueloliveira4465 ปีที่แล้ว +1

    Recomendação de vídeo: Poderia fazer um vídeo sobre responsividade no tailwindcss

  • @luisfernando3405
    @luisfernando3405 ปีที่แล้ว +1

    Cara, recém estou iniciando a treinar para usar React, e este entendimento vai me ajudar bastante! Tô no Ignite, 😉

  • @nazirmudumane8830
    @nazirmudumane8830 ปีที่แล้ว +1

    Meu Deus, eu sempre cai nessa. Muito obrigado Diegooooo❤

  • @Fazin17
    @Fazin17 ปีที่แล้ว +1

    Finalmente entendi isso! Eu sempre renderizava duas vezes e tinha assumido que hooks não era pra mim hahaha. Isso atrapalha muita pra mapas.

  • @fernandolaice8256
    @fernandolaice8256 ปีที่แล้ว +1

    Poxa valeu...eu já cometi muito esse erro. Valeu Diego

  • @johnrodrigues559
    @johnrodrigues559 ปีที่แล้ว +1

    Bom demais , que conteúdo irado

  • @pablooliveira1220
    @pablooliveira1220 ปีที่แล้ว

    Top Sempre caia nessa !

  • @IgorSGZ
    @IgorSGZ ปีที่แล้ว +1

    Gênio 🤯!
    Eu nunca tinha pensado nisso

  • @arthurmaia3601
    @arthurmaia3601 ปีที่แล้ว

    Realmente, erro muito comum, eu já passei e passo por isso até hoje. Acho que seria interessante também a implementação de um debounceTime no momento da filtragem dos repositórios. Evitaria mais ainda a renderização, ou pelo menos a atualização da lista renderizada na tela. Excelente video Diego!

    • @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!

  • @CarlosEduardo-sy6mr
    @CarlosEduardo-sy6mr ปีที่แล้ว +1

    Você pode ainda memoizar o resultado da função através do useMemo, pra não recalcular quando houver uma renderizacao que não envolva a variável.

    • @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!

  • @alamo_DevFlow
    @alamo_DevFlow ปีที่แล้ว +2

    Ah, kkkk amanhã mesmo já vou arrumar o filtro que eu fiz na empresa kkkkkkkkkkkk. Obg pelo vídeo.