1.4.1 • Published 8 months ago

rn-scroll-viewport-tracker v1.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Scroll Viewport Tracker

A react-native util to track elements inside a scrollable view. Uses custom state handlers to minimize re-renders, and optimizes for performance.

diagram

Works with

  • ScrollView
  • FlatList
  • SectionList

Installation

npm install rn-scroll-viewport-tracker

Usage

import {
  ScrollViewPortTracker,
  ScrollViewPortAwareView,
} from 'rn-scroll-viewport-tracker';

<ScrollViewPortTracker>
  <ScrollView>
    <Component1 />

    <ScrollViewPortAwareView
      name="component2"
      onEnterViewport={() => console.log('component 2 entered viewport')}
      onLeaveViewport={() => console.log('component 2 left viewport')}
    >
      <Component2 />
    </ScrollViewPortAwareView>

    <Component3 />
  </ScrollView>
</ScrollViewPortTracker>;

ScrollViewPortTracker Props

Prop NameTypeDefaultDescription
minOverlapRationumber0.2The minimum ratio of overlap between the viewport and the element to trigger the enter/leave events
disableTrackingbooleanfalseDisables tracking of the viewport
scrollEventThrottlenumber200Throttles the scroll events

ScrollViewPortAwareView Props

Prop NameTypeDefaultDescription
namestringThe name of the element
onEnterViewportfunctionCallback when the element enters the viewport
onLeaveViewportfunctionCallback when the element leaves the viewport

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


1.4.1

8 months ago

1.4.0

10 months ago

1.3.0

10 months ago

1.2.0

10 months ago

1.1.2

10 months ago

1.1.0

10 months ago