Simple React component for smoothy full-page scolling using CSS animations

React Page Scroller

Simple React component for smoothy full-page scolling.

Demo

You can scroll the page using mouse wheel, touch scroll or keyboard arrows.

To run demo app locally:

npm install
npm start

App will start on localhost:3000.

Installation

via npm:

npm install react-page-scroller --save

Usage

Example is in demo/src.

import ReactPageScroller from "react-page-scroller";

goToPage = (pageNumber) => {
  this.reactPageScroller.goToPage(pageNumber);
}

<ReactPageScroller ref={c => this.reactPageScroller = c}>
  (your components here)
</ReactPageScroller>

Properties

Property Type Description Default Value
animationTimer number Animation duration in milliseconds 1000
transitionTimingFunction String CSS transition timing function name ease-in-out
pageOnChange function callback on page scroll
goToPage function using with ref, go to selected page, number of pages must start from 0
scrollUnavailable function callback, is calling when someone tries to scroll over last or first child component
containerHeight number/string height of react-page-scroller element 100vh
containerWidth number/string width of react-page-scroller element 100vw
blockScrollUp bool block scroll up false
blockScrollDown bool block scroll up false

Dependencies

react-page-scroller requires:

  • React
  • lodash
  • Prop Types

GitHub