Тёмный

React - Guia definitivo de performance (useMemo, useCallback, memo) - Code/drops #82 

Rocketseat
Подписаться 371 тыс.
Просмотров 68 тыс.
50% 1

O React é uma biblioteca extremamente performática e, na grande maioria das vezes, não é necessária a realização de nenhuma otimização no componente dado que otimizações prematuras podem causar mais perdas do que ganhos na performance da aplicação.
Ainda assim, em alguns momentos, existem oportunidades para evitarmos renderizações desnecessárias em componentes no React utilizando funcionalidades como memo, useMemo e useCallback.
Reconciliação no React: pt-br.reactjs....
-----
Confira a grade completa de conteúdos do canal aqui: rocketseat.com...
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
Nos ouça também no Spotify:
- Podcast Faladev
- Podcast Alumni
- Podcast Proxy

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 110   
@Davesmg
@Davesmg 3 года назад
Estou desenvolvendo um App usando React Native e me deparei com múltiplas re-renderizações desnecessárias e decidi seguir o desenvolvimento do módulo em que trabalhava para, depois, analisar como poderia resolver isso e refatorar o necessário. Finalmente chegou a hora e passei o final de semana lendo a respeito a fim de iniciar o processo hoje. Aí vem vocês e me presenteiam com esse vídeo com timing perfeito. Vocês, definitivamente, merecem o reconhecimento que possuem com todo esse conteúdo de qualidade que produzem!
@rafaelinacio7148
@rafaelinacio7148 3 года назад
Tenta usar o React.memo, useCallback, useMemo são hooks do próprio React.
@Franklin7x
@Franklin7x 9 месяцев назад
Estou estudando Hooks a umas duas semanas agora e esse conteudo é o mais abrangente abordando profundamente os conceitos. conteudo de muito valor agregado. para quem estiver estudando aconselho aprofundar mais o conhecimento em documentações. ainda me pego na duvida de quando ou não usar.. acredito que so vou saber na pratica, no dia a dia.
@DjEdu28
@DjEdu28 9 месяцев назад
via de regra, se tá com dúvidas, então nem usa. Vai programando e Deixa quebrar! Quando quebrar aí procura o motivo. Verifica os logs no console do computador, também. Quando tá rodando o react em ambiente dev, ele enche o console do navegador de avisos e erros, muito util para encontrar algo que tenha passado despercebido, tipo as re-renderizações.
@williamjog93
@williamjog93 3 года назад
Que conhecimento incrível, vou elevar meu react a um novo nível.
@rocketseat
@rocketseat 3 года назад
Que massa que curtiu, William! Boooooora pra cima com esse React aí! 💜 🚀
@_monkey_games
@_monkey_games 3 года назад
Esse algoritmo vai salvar muitos casais!
@rodrigoniederauer
@rodrigoniederauer 2 года назад
Ba dum tsss
@hdsg0807
@hdsg0807 2 года назад
É raro eu comentar vídeos, mas devo dizer que é o melhor conteúdo sobre o assunto que encontrei mesmo após quase vários meses depois de ser lançado.
@brunoneckel2446
@brunoneckel2446 3 года назад
Conteúdo desse vídeo ficou incrível, já havia assistido os vídeos antigos explicando sobre o useMemo e useCallback, mas sem dúvidas nesse vídeo a explicação ficou muito mais clara!! Se possível, produz um novo cobrindo tudo sobre Redux com Duck Patterns 🙏
@marciogomes8312
@marciogomes8312 2 года назад
you have about the software. I personally enjoy learning so it was a little bit easier to do it over ti. But you’ll get there brother
@abnerwillys
@abnerwillys 3 года назад
51:13 eu em 90% do meu dia kkkkkkk
@lucaspacheco6163
@lucaspacheco6163 3 года назад
kkkkkkkkkk
@cedroigor
@cedroigor 2 года назад
Somos 2 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
@vitorgonzaga9985
@vitorgonzaga9985 2 года назад
kkkkkkkkkkkk
@Dksjsuww8
@Dksjsuww8 2 года назад
Muito bom. Já estou correndo para resolver uma penca de problemas com minha aplicação. Finalmente entendi o porquê de um componente mudava junto com o outro, estava maluco com isso.
@claytonmartins3761
@claytonmartins3761 Год назад
Aula top! Tirou várias dúvidas... essa vale a pena ver de novo kkkk
@danielvinicius4906
@danielvinicius4906 3 года назад
Diego grava um vídeo falando sobre autenticação social no NextJS com backend próprio. Parabéns pelo vídeo!
@WoWGuirelle
@WoWGuirelle 3 года назад
Uma pena não conseguir dar 2 likes. Parabéns pelo conteúdo.
@Cristian7Bitencourt
@Cristian7Bitencourt 4 месяца назад
Muito bom, perfeito!!!
@dyja007
@dyja007 3 года назад
Conteúdo muito bom Diego! Me salvou em uma entrevista!!
@rocketseat
@rocketseat 3 года назад
Sério, Jady? Poxa, que show! Boa sorte aí! 💜
@carlobatera
@carlobatera 3 года назад
Achei Toooooop! Obrigado por compartilhar o conhecimento, Diego.
@cesarfilho9930
@cesarfilho9930 3 года назад
Muito bom mesmo! Esse tipo de conteúdo é muito esclarecedor mesmo tendo a base. Está de parabéns Diego e todo time Rocketseat!!! \o
@Rafaelsr30
@Rafaelsr30 2 года назад
Muito bom! Obrigado
@contiero_
@contiero_ 3 года назад
Aula muiito didática e informativa! Com certeza vai ajudar e muito nos projetos! 💜
@natan.opsilva
@natan.opsilva 2 года назад
Obrigado
@Edy_sousa
@Edy_sousa 2 года назад
Hey man, It works great and without any problems.
@ygortf
@ygortf 3 года назад
Que aula, Diegão!!! Boa demais
@Daniel-jt3dn
@Daniel-jt3dn 2 года назад
O brabo tem nome
@adegarapoanga8509
@adegarapoanga8509 2 года назад
the right and it will soft like magic!!
@carlosemanuelribeirolopes269
@carlosemanuelribeirolopes269 2 года назад
thanks, downloaded, all works!
@MoraesDev
@MoraesDev 3 года назад
Vlw Diego mais um conteudo de alto valor
@rocketseat
@rocketseat 3 года назад
Que show que curtiu, Gilberto! 💜 🚀
@tiagobarros7093
@tiagobarros7093 2 года назад
Esse vídeo é incrivel!!
@mprandot
@mprandot 3 года назад
Ótimo vídeo! Faltou comentar que quando você utiliza o useMemo a callback é executada e o valor dela é armazenado na memória, e com o useCallback apenas a referência é armazenada, não executando a callback pela primeira vez. (Se foi dito me desculpe por favor, posso ter perdido).
@wiltonvieira8201
@wiltonvieira8201 3 года назад
Excelente conteúdo!!!! Aprendi muito!!
@rocketseat
@rocketseat 3 года назад
Wooow! Boa demais, Wilton! 👏‍🏻‍ 👏‍🏻‍ 👏‍🏻‍
@andoresp_
@andoresp_ 3 года назад
Que conteúdo massa !!!!
@rocketseat
@rocketseat 3 года назад
Que massa que curtiu! 💜 🚀
@kaiophillipe6004
@kaiophillipe6004 3 года назад
44:30 salvou minha pele.. ehehe
@n0n3br
@n0n3br 3 года назад
Diego começa a usar o Vite pra criar os projetos react nesses vídeos. Muito mais performatico que o CRA pra tudo, como você já deve saber.
@marcioferlan
@marcioferlan 3 года назад
Fala Diego! Parabéns pelo vídeo! Bastante esclarecedor e certamente um dos melhores que já assisti sobre o assunto! Deixa eu te fazer uma pergunta: como tem sido sua experiência como um todo usando o Linux ultimamente? Refiro-me ao desenvolvimento web e mobile, ferramentas, gravação e edição de vídeo, estabilidade geral do sistema, produtividade... Notei que em alguns vídeos vocês têm tido problema de indexação de arquivos ao excluir pastas no VSCode, e tals.. algo mais que você poderia compartilhar com a gente? Eu uso Mac desde 2010 e nas empresas em que trabalhei usando Linux eu gostei bastante, mas sempre tinha alguns detalhes ruins e nunca me sentia tão produtivo quanto no Mac. Como tem sido a sua experiência?
@antoin3933
@antoin3933 2 года назад
brabo y brabo 🔥
@crcc7374
@crcc7374 2 года назад
Esses dias passei numa entrevista e o headrunter e o SM da empresa e do time la perguntou: Conhece React, Node, Mongo e GraphQL................. eu disse: EU tenho senioridade em Javascript, tenho expertise. Essas questões de front ta tranquilo. Resumindo, nao passei claro. AI o headhunter disse que precisava de um cara fera no react etc.............. eu dei risada, e agradeci! Depois refletir: Poxa, não entendi, o que o react faz que eu não faria em codigo puro ???? Ai , claro, a conclusão............... a galera da nossa area é muito desenformado. Nao tem raizes, nao aprendem fundamentos de programação, compilador, computador, pilhas TCP/IP para entender os protocolos que usamos nas diversas camadas que interagem com a WEB e tal. Enfim........... a mente do povo ja esta alienada em utilizar tecnologias de outras empresas, tipo, seguir a MODINHA................ e desprezam o que realmente é importante, que é: CONHECER A LINGUAGEM que esta utilizando para desenvolver a solução
@ellsonmendesYT
@ellsonmendesYT 2 года назад
Não se entendi bem, mas é como se usando o callback, a função ficasse em uma memoria compartilhada assim a referencia pra função seria sempre a mesma.
@f13flp
@f13flp 2 года назад
thanks bro it's really help
@nskdeveloper260
@nskdeveloper260 3 года назад
Fala Diegao, obrigado pelo conteúdo Excelente Gostaria de um vídeo sobre teste no react native é sobre quais teste fazer e como Se possível algo mais avançado com contextApi, estados da aplicação e renderização condicional de componentes, por exemplo {isAuthenticated ? : } Ou também quando utilizamos loader na screen if (isLoading) { return } …… continuação componente export default Valeu
@thiagofreire8988
@thiagofreire8988 2 года назад
thank u helped me a lot
@yuur1440
@yuur1440 3 года назад
Diegão faz um video sobre error boundaries
@antonioulundo5765
@antonioulundo5765 3 года назад
assistindo
@MarcosSantos-sv1do
@MarcosSantos-sv1do 3 года назад
Show demais.
@felins013
@felins013 3 года назад
Salve! Grande vídeo, informações muito valiosas. Só um comentário, o React.memo considera apenas as props do componente, ou seja, um state ou context continuaria causando o update do componente
@espinhara
@espinhara 3 года назад
Fala Diego, que tal comparar a renderização do React com a do Vue?
@xxxx3657
@xxxx3657 2 года назад
I drank all the milky-milk in my sippy cup!
@cristianomesquita2705
@cristianomesquita2705 3 года назад
Fala Diego, poderia fazer um semelhante mostrando no react native, pois as ferramentas para pegar estes gargalos no RN são mais limitadas, pelo menos eu não conheço uma que mostre tão detalhadamente.
@thomascosta947
@thomascosta947 2 года назад
up
@nexnuum
@nexnuum 3 года назад
Diego, uma dúvida, você costuma usar 'const/arrow function' ou 'function' na criação de funções dentro de um componente?
@dieegosf
@dieegosf 3 года назад
Eu particularmente prefiro usar function, mas não existe grandes diferenças no uso.
@thenriquedb
@thenriquedb 3 года назад
@Felipe Oliveira O nome desse processo é Hoisting. "Em JavaScript, toda variável é “elevada/içada” (hoisting) até o topo do seu contexto de execução. Esse mecanismo move as variáveis para o topo do seu escopo antes da execução do código."
@vitorrubim1
@vitorrubim1 2 года назад
11:45 Qual a sugestão pra esse "problema"?
@CanalpregacoesCCB
@CanalpregacoesCCB 2 года назад
just woke up in hospital.
@Reemi
@Reemi Год назад
Qual é o Linux o o.s que ele usou no vídeo?
@eddypbr
@eddypbr 2 года назад
Salve galera, tenho uma duvida, já vi muito em algumas discussões e alguns pacotes que o pessoal dentro de um context retorna o valor memorizado, ou seja, passa todo os valores do context dentro de um useMemo e exporta eles no provider. Gostaria de saber se se isso é realmente correto, e quais as situações isso pode ser "viavel"
@mateushenrique833
@mateushenrique833 3 года назад
Salve Diego!
@rocketseat
@rocketseat 3 года назад
Saaaaalve, Mateus! 💜
@icavalheiro
@icavalheiro 3 года назад
Vue não faz isso por default?!
@dedeh-lives
@dedeh-lives Год назад
Po, tu explica muito bem de verdade. Mas tu faz uns barulho ca boca, que fica MUUUITO díficil assistir pra quem tem nervo de barulho. Igual quando uma pessoa ta comendo. Eu tento, tento, tento, pq sua explicação é boa, mas esses barulho... ARGHHH
@nan-code
@nan-code 3 года назад
Diego qual software você utiliza para gravar sua tela?
@dieegosf
@dieegosf 3 года назад
Opa, uso o OBS.
@diegocaiena1920
@diegocaiena1920 2 года назад
isso serve tanto pra React quanto pra React Native?
@pedrapequena
@pedrapequena 2 года назад
+sub, workis
@diegosouza8427
@diegosouza8427 2 года назад
Hey,
@almeidabelly
@almeidabelly 2 года назад
Hacked i guess
@crcc7374
@crcc7374 2 года назад
Eu acredito que se vc investir em ESTUDAR A LINGUAGEM javascript............ vc não precisa de NADA DISSO, é libs em cima de libs kkkkkkkkkkk é uma pra arruma o problema da outra, vcs percebe isso kkkk PQ, simples! PQ a ferramenta NAO TRABALHA corretamente........................ APRENDAM Javascript e desapegar de libs de terceiros e cris VC suas ferramentas ;))
@sdmastergames4905
@sdmastergames4905 3 года назад
Eu sendo psicopata por eficiência e desempenho olhando esse video...
@funmachine2011
@funmachine2011 Год назад
Muito obrigado pelos vídos. Mas por favor: Compre um TECLADO SEM BARULHO por causa do microfone! 🙂🙂🙂
@adriano9833
@adriano9833 Год назад
Acho que esses states do react, deveriam ser funções intrínsecas do sistema. E como se comparar linguagens que tem controle de memoria e outras nao. Java tem o Garbage collection intricicamenteo no sistema e algumas outras nao. Entao no final das contas parece ser um furo que merecia ser corrigido. Mas aula muido boa.
@armandofariasdealbuquerque5759
@armandofariasdealbuquerque5759 2 года назад
The tutorial is very informative how to get hack easily just follow the tutorial0_0)
@CarlosYounes
@CarlosYounes 2 года назад
Muito Grato Foi ótimo Na caminhada da aprendizagem básica em backend e intermediária em frontend . Interessante o REACT. Para mim que sou iniciante, parece um ótimo caminho de aplicação do javascript. Parabéns pelo ótimo trabalho e conteúdos. Abraços e sucesso ;)
@CrazyHz-xg4it
@CrazyHz-xg4it 2 года назад
put the softs on the play them back to myself lol..
@alexandrenascimento3105
@alexandrenascimento3105 2 года назад
Que vídeo, que vídeo, obrigadoo
@pablodanilomota
@pablodanilomota 3 года назад
Fala Diegão! cara... conteúdo sensacional!!! 💜🚀
@rocketseat
@rocketseat 3 года назад
Faaaala, Pablo! Que show que curtiu! 💜 🚀
@DjEdu28
@DjEdu28 9 месяцев назад
vlw Diegão. Voltei aqui anos depois só pra revisar o useCallback, mas assisti tudo de novo só pra aproveitar e verificar o que no começo posso ter perdido e o que tenho usado com maestria.
@vvitor7785
@vvitor7785 2 года назад
I didn't know this video existed! Thanks bro! Really grateful.
@nandonascimento6424
@nandonascimento6424 2 года назад
It really is
@meyanoyte7015
@meyanoyte7015 2 года назад
Fr
@boribilder_sem_basal
@boribilder_sem_basal 2 года назад
Gostei bastante da aula, mas admito que voltei umas 5x no 20:15 kkkkkkkkkk
@lennonlemos455
@lennonlemos455 3 года назад
digitando com os pés porque estou aplaudindo com as mãos! rs 👏👏👏 conteúdo nota 1000! top!
@Frankilintel
@Frankilintel 3 года назад
Diego, amigo... as vezes tenho a sensação de que, foi você que criou a linguagem. Deus abençoe, mano! Fantástico!
@vitorgonzaga9985
@vitorgonzaga9985 2 года назад
Esse conteúdo foi um presente! tks!
@LeandroSimoesArt
@LeandroSimoesArt 2 года назад
Video monstro! Aprendi muito aqui.
@iorrancastro
@iorrancastro 3 года назад
Diego, podem existir casos de que eu queira que algum calculo seja executado toda vez que um estado mudar. Por exemplo, sempre que eu marcar um Todo como concluido, quer verificar a media de Todos. O useMemo encaixa-se nessa situação também ? Ou para esses casos, devemos usar sempre o useEffect?
@mprandot
@mprandot 3 года назад
Cara, você consegue fazer das duas formas Com o useState+useEffect fica um pouco mais complexo pois vai ter que controlar o estado (é possível mas não recomendado). Com o useMemo, funciona, tens que ver se vale a pena armazenar esse valor em memória (tamanho da lista + vai usar o resultado em outros componentes?) E também deixar o react renderizar sempre (o resultado é um tipo primitivo (number), o shallow vai funcionar).
@erickcrus
@erickcrus 2 года назад
Gosto muito dos seus vídeos!
@tiagobarros7093
@tiagobarros7093 3 года назад
Seria uma boa trazer video sobre testes👀🔥
@wandersondavid1695
@wandersondavid1695 3 года назад
Show
@maicon.mdj97
@maicon.mdj97 3 года назад
Opa !
@wesleydcm
@wesleydcm 3 года назад
Muito show!
@dudugomes6702
@dudugomes6702 3 года назад
Conteúdo incrível! Condensado, organizado, realmente de muito valor. Mas, e quanto ao tema sobre Presentional and Container Component Pattern?
@evertongodoi3584
@evertongodoi3584 3 года назад
Galerinha qual o sistema operacional que ele usa? valeeeu
@GabrielSilva-ni4jy
@GabrielSilva-ni4jy 3 года назад
KUbuntu. tem um vídeo do canal do Guilherme Rodz que ele customiza e fica desse jeito aí.
@evertongodoi3584
@evertongodoi3584 3 года назад
@@GabrielSilva-ni4jy teria o link?
@GabrielSilva-ni4jy
@GabrielSilva-ni4jy 3 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-h-FsG-QpgfI.html&ab_channel=GuilhermeRodz
@evertongodoi3584
@evertongodoi3584 3 года назад
@@GabrielSilva-ni4jy valeeuuuu! TMJ.
Далее
O ERRO mais comum no React (você já fez isso)
13:26
Просмотров 124 тыс.
Самая сложная маска…
00:32
Просмотров 1,1 млн
You Probably Shouldn't Use React.memo()
10:17
Просмотров 55 тыс.
OpenAI’s New ChatGPT: 7 Incredible Capabilities!
6:27
Mastering React Memo
26:56
Просмотров 135 тыс.
REFATOREI UM CÓDIGO REACT USANDO CLEAN CODE
30:53
Просмотров 115 тыс.
Quando você deveria utilizar o useMemo no ReactJS?
12:27
Why Signals Are Better Than React Hooks
16:30
Просмотров 478 тыс.
Самая сложная маска…
00:32
Просмотров 1,1 млн