Recycling View

A virtualized list component with progressive loading.

Preview

Basic Usage

Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
Item 10
Item 11
Item 12
Item 13
Item 14
Item 15
Item 16
Item 17
Item 18
Item 19
Item 20

With Objects

User 1
user1@example.com
User 2
user2@example.com
User 3
user3@example.com
User 4
user4@example.com
User 5
user5@example.com
User 6
user6@example.com
User 7
user7@example.com
User 8
user8@example.com
User 9
user9@example.com
User 10
user10@example.com
User 11
user11@example.com
User 12
user12@example.com
User 13
user13@example.com
User 14
user14@example.com
User 15
user15@example.com

Children Render Pattern

Item 1

Description for item 1

Item 2

Description for item 2

Item 3

Description for item 3

Item 4

Description for item 4

Item 5

Description for item 5

Item 6

Description for item 6

Item 7

Description for item 7

Item 8

Description for item 8

Item 9

Description for item 9

Item 10

Description for item 10

Item 11

Description for item 11

Item 12

Description for item 12

Item 13

Description for item 13

Item 14

Description for item 14

Item 15

Description for item 15

Item 16

Description for item 16

Item 17

Description for item 17

Item 18

Description for item 18

Item 19

Description for item 19

Item 20

Description for item 20

Item 21

Description for item 21

Item 22

Description for item 22

Item 23

Description for item 23

Item 24

Description for item 24

Item 25

Description for item 25

Installation

Usage

RecyclingView efficiently handles large lists by progressively loading items as the user scrolls. It supports two rendering patterns: renderItem prop and children render function.

renderItem

Children render function

How It Works

  1. Initial Load: Loads the first itemsPerPage items
  2. Scroll Detection: Monitors scroll position to detect when user approaches the bottom
  3. Progressive Loading: Automatically loads more items from the local array when needed
  4. Infinite Loading: Calls onReachEnd when all local items are displayed and the user scrolls further
  5. Prepend Support: Preserves scroll position when items are prepended to the array

API Reference

PropTypeDefaultDescription
itemsT[]-The full array of items to render
itemsPerPagenumber20Number of items to load per batch
renderItem(item: T, index: number) => ReactNode-Render function for each item
children(visibleItems: T[]) => ReactNode-Alternative render function receiving visible items
onReachEnd() => Promise<void> | void-Called when all items are displayed and user scrolls to bottom
classNamestring-CSS class for the scroll area container
innerClassNamestring-CSS class for the inner scroll content