eventos de rolagem: listeners de evento passivo requestAnimationFrame VS requestIdleCallback VS

Como sabemos, muitas vezes é recomendável rejeitar os ouvintes de rolagem para que o UX seja melhor quando o usuário estiver rolando.

No entanto, eu sempre acheibibliotecas eartigos onde pessoas influentes como Paul Lewis recomendam o usorequestAnimationFrame. No entanto, à medida que a plataforma da Web progride rapidamente, é possível que alguns conselhos sejam descontinuados ao longo do tempo.

O problema que vejo é que existem casos de uso muito diferentes para manipular eventos de rolagem, como criar um site de paralaxe ou manipular rolagem e paginação infinitas.

Vejo três ferramentas principais que podem fazer a diferença em termos de UX:

requestAnimationFramerequestIdleCallbackOuvintes de eventos passivos

Então, eu gostaria de saber, por caso de usuário (eu só tenho 2, mas você pode criar outros), que tipo de ferramenta devo usar agora para ter uma experiência de rolagem muito boa?

Para ser mais preciso, minha pergunta principal estaria mais relacionada a visualizações de rolagem infinitas e paginação (que geralmente não precisam acionar animações visuais, mas queremos uma boa experiência de rolagem), é melhor substituirrequestAnimationFrame com uma combinação derequestIdleCallback + manipulador de eventos de rolagem passiva? Também estou me perguntando quando faz sentido usarrequestIdleCallback por chamar uma API ou manipular a resposta da API para permitir um melhor desempenho da rolagem, ou é algo que o navegador já pode manipular para nós?

questionAnswers(1)

yourAnswerToTheQuestion