2025-02-18
3733
#react
Ogundipe Samuel
1837
Feb 18, 2025 ⋅ 13 min read

3 ways to implement infinite scroll in React (with code examples)

Ogundipe Samuel Software engineer and technical writer.

Recent posts:

the replay january 21 2026

The Replay (1/21/26): Booming CSS, Tauri 2.0, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the January 21st issue.

Matt MacCormack
Jan 21, 2026 ⋅ 39 sec read
jemima abu css in 2026 replacing javascript

CSS in 2026: The new features reshaping frontend development

Jemima Abu, a senior product engineer and award-winning developer educator, shows how she replaced 150+ lines of JavaScript with just a few new CSS features.

Jemima Abu
Jan 21, 2026 ⋅ 6 min read

Why AI coding tools shift the real bottleneck to review

AI writes code fast. Reviewing it is slower. This article explains why AI changes code review and where the real bottleneck appears.

Ikeh Akinyemi
Jan 20, 2026 ⋅ 6 min read
Your security team blocked Cursor and Claude Code— time to switch to OpenCode

Your security team blocked Cursor and Claude Code—time to switch to OpenCode

When security policies block cloud AI tools entirely, OpenCode with local models offers a compliant alternative.

Ikeh Akinyemi
Jan 19, 2026 ⋅ 5 min read
View all posts

2 Replies to "3 ways to implement infinite scroll in React (with code examples)"

  1. Hi,
    Thanks,

    I followed you & implemented the infinite scroll. I have been facing this issue.
    I have set page size 30, So for each API response I receive the 30 data. The problem is, when I open the application in big screen like TV/projector, Initial API call loads the 30 data & no scroll appear due to large screen. But I have 1000 data in Database.

    I told team, We could increase the initial page size 100, then they asked suppose after increased size What If the scroll doesn’t appear on window. More over, they want to keep page size 30 only, do not want to change.

    How to solve when I open the application in big screen, load the data until scroll appear?

  2. This error occured because you did not specify the context in which the infinite scroll should work. It defaults to the viewport if not set.

    The solution is that you pass in the root which is a selector to the options object as shown below.

    let options = {
    root: document.querySelector(“#scrollArea”),
    rootMargin: “0px”,
    threshold: 1.0,
    };

    let observer = new IntersectionObserver(callback, options);

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now