Adam Klein
A journey of a long list in React
#1about 5 minutes
The performance cost of re-rendering long lists
Rendering thousands of items naively causes significant JavaScript and layout overhead, leading to an unresponsive UI during re-renders.
#2about 4 minutes
Exploring common patterns for handling long lists
Websites like Google use traditional pagination, while others like Facebook and Unsplash use infinite scroll and skeleton loaders to manage large datasets.
#3about 3 minutes
How virtual scroll works using the windowing technique
Virtual scroll, also known as windowing, creates a smooth user experience by only rendering the items currently visible in the viewport.
#4about 5 minutes
Considering the limitations of virtual scroll libraries
Before choosing a library, consider its limitations regarding scroll restoration, deep linking, dynamic heights, and window-level scrolling.
#5about 5 minutes
The technical implementation of a virtual scroll component
Implementing virtual scroll requires calculating the total container height and the position of visible items, which is complicated by dynamic row heights.
#6about 4 minutes
Using skeleton loaders and the Intersection Observer API
The Intersection Observer API enables an alternative approach where lightweight skeleton placeholders are replaced with full content as they enter the viewport.
#7about 4 minutes
Best practices for optimizing scrolling performance
Improve scrolling smoothness by throttling scroll events, tuning the render-ahead buffer, minimizing re-renders, and simplifying complex list items.
#8about 13 minutes
Q&A on pagination, tables, and implementation details
The speaker addresses when to choose pagination over virtual scroll and how to apply these performance techniques to tables and tree structures.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
17:13 MIN
Optimizing scrolling performance in React Native
Optimizing Your App for Success: Tips and Techniques for managing slow devices
05:41 MIN
Rendering large lists efficiently with virtualization
Challenges of building React and React Native apps
14:41 MIN
Optimizing large lists with virtual scrolling
Angular <> Angular CDK - Awesomeness Combined
26:22 MIN
Building high-performance lists with the virtualizer lab
Why LIT is Fire
20:12 MIN
How React uses the virtual DOM for updates
The Journey of a Pixel in a React Application
08:01 MIN
Why developers and businesses choose to use React
React and the power of visualisation
20:14 MIN
Live coding an editable list with web components
Frameworkless: How to use Web-Components in production?
1:04:01 MIN
Exploring modern tools for web interaction and analysis
WeAreDevelopers LIVE - the weekly developer show with Chris Heilmann and Daniel Cranney
Featured Partners
Related Videos
The Journey of a Pixel in a React Application
Shem Magnezi
Catching up on the basics you don't really need that much code
Chris Heilmann
Building Interactive Async UI with React 19 and Ariakit
Aurora Scharff
The Lean Web
Chris Ferdinandi
Accessibility in React Application
Julia Undeutsch
Next.js Unleashed: Optimizing Web Vitals for superior User Experience
Eileen Fürstenau
Build UIs that learn - Discover the powerful combination of UI and AI
Eliran Natan
Challenges of building React and React Native apps
Milica Aleksic & Stefan Nikolic
Related Articles
View all articles


.png?w=240&auto=compress,format)
From learning to earning
Jobs that call for the skills explored in this talk.
Frontend Web Developer (JavaScript, React)
Die Socialisten
Vienna, Austria
Senior
Jest
React
Redux
JavaScript

Senior Frontend Developer - Typescript / Svelte - (f/m/x)
doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript

Frontend Web Developer - JavaScript | React | Angular | Vue.js | Bootstrap | Tailwind | HTML | CSS
Tech Solutions Gmbh
GIT
HTML
Vue.js






Frontend dev react.js / Next.js Blockchain en AI
Multiplied
The Hague, Netherlands
Remote
Intermediate
HTML
Next.js
Blockchain
TypeScript
+1