-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Novos Hooks e Lazy Loading de Componentes #9
Conversation
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/filipedeschamps/tabnews/2Rz27ZgjR5Sw3NfWKxrmyTLPm4uW |
Cara, achei sensacional essa ideia! Acredito que pode ser utilizado para tratar as imagens do tabnews. |
Obrigado cara. 😃 Posteriormente irei melhorar a implementação e deixar mais customizável. |
Que show @dhanielsales , testei aqui e funcionou tudo certinho 😍 Como você vê o seu Hook em comparação ao disponível no Next.js? Pelo menos na parte do lazy loading 👍 *E em paralelo, é MUITO bom ter a URL de Preview para ver as coisas de fato 🤝 |
@wcarugatti tá certo, porque o |
Fala @filipedeschamps, tudo tranquilo? Muito bom ter vc conosco. Sobre o que foi levantado por você: Não sou o maior entendedor de como funciona a Feature de O Hook que eu propus traz a detecção do que entra no ViewPort da window, não se trata de um lazy loading de imagem em si, isso seria uma das utilizações para ele. Essa semana inclusive, trabalhei com uma página com diversas animações, que só poderiam ser disparadas quando o componente entrar no "campo de visão" do usuário e eu utilizei ele(Hook) para isso. Pra finalizar, eu utilizei o useIntersectionObserver no lazy load de imagens carregadas com a tag Por favor, se eu falei alguma besteira kkkk, sinta-se a vontade em me corrigir. 😃 |
@dhanielsales o meu conhecimento de apps avançados em React é muito pouco, não vai ser eu quem vai dizer que você falou alguma besteira 😂 Em paralelo, to tentando visualizar algum cenário dentro do TabNews em que vamos utilizar todo esse controle (e que já não seja coberto pelo componente do Next.js no caso das imagens). Dado aos layouts que desenhamos, onde você vê isso sendo aplicado? 🤝 |
@filipedeschamps Acabei demorando pra responder, os ultimos dias foram bem corridos kkk. Bom, eu consigo pensar em vários casos de uso para esse Hook, mas de fato nao consegui pensar em algo que precisaríamos implementar de imediato. Talvez carregamente de um um feed "infinito" quando o ultimo item estiver na tela, mas isso poderia ser implementado sem ele também. Acho que poderíamos deixar pra incluir esses hooks no projeto quando surgir as necesidades. 🙂 |
Show @dhanielsales 😍 topa então fechar esse PR? E independente de não fazermos o merge agora, seu nome com certeza será listado na área dos contribuidores 🤝 |
Claro, com certeza! |
@dhanielsales fechando então esse PR para avançarmos nessa issue da Milestone 0 👍 |
Objetivo da PR:
Esse PR tem como objetivo adicionar ao projeto dois novos Hooks e uma função de debounce para facilitar criações futuras. 🔧🔧🔧
Modificações gerais
Extra: Adicionei também uma função de debounce para usos gerais o projeto. 😄
Demo
Criei uma rota
/demo-hooks
para visualizar essas novas ferramentas, nela vc encontrará no canto superior esquedo as informações do hook useWindowConstraints, como na foto abaio:Demo: https://tabnews-git-fork-dhanielsales-feat-hooks-filipedeschamps.vercel.app/demo-hooks
Além disso fiz um componente de imagem com uma feature de Lazy Loading, nela a requisição de carregamento da imagem só ocorrerá quando o componente estiver na viewport e enquanto não estiver, é exibido um outro componente como "Skeleton", como nas imagens abaixo:
Bom, espero que tenha ajudado com algo, se tiverem alguma sugestão, crítica ou melhoria, por favor, coloquem no PR. ✊✊✊