2.1.2 • Published 3 months ago

react-scroll-into-view v2.1.2

Weekly downloads
5,344
License
MIT
Repository
github
Last release
3 months ago

React scroll-into-view

CI npm version bundlephobia downloads

Fast & declarative way for scrolling to any element on page. Weights less than 600B (minified + gzipped)!

Idea behind

While developing landing page we needed way to scroll page to focus on registration form. It was obvious we will use element.scrollIntoView we just need find nice way how to. This is just simple React element that provides declarative way to scroll to any element on page when it's clicked.

Demo

Check out that codesandbox example

Installation

yarn add react-scroll-into-view

or if you use npm:

npm i --save react-scroll-into-view

How to use

First import it

import ScrollIntoView from 'react-scroll-into-view'

Then use it

<ScrollIntoView selector="#footer">
  <button className="mdl-button mdl-js-button mdl-button--raised">
    Jump to bottom
  </button>
</ScrollIntoView>

<!-- somewhere down on our page we have our target element -->
<div id="footer">Scroll target element</div>

Props

NameTypeDefaultDescription
childrenReact.ReactNodeThe content of the component
selectorstringRequired. Valid CSS Selector to element to which we want to scroll
smoothbooleantrueScroll behavior; when true - transition animation will be smooth. Same as setting scrollOptions.behavior = smooth
styleReact.CSSPropertiesCSS styles passed to element NOTE prior v1.4.0 default value was {display: 'inline'}
alignToTopbooleanfalseWhether top of the element should be aligned to the top of the visible area. Default: aligns to bottom of element
classNamestringOptional class name to be applied to element
onClickFunction with signature:(event: React.MouseEvent<HTMLElement>) => voidCallback fired on click
scrollOptionsScrollIntoViewOptions{}Scroll options. See scrollIntoViewOptions on MDN docs. Only valid properties will be used. Accepts options: behavior (values: auto or smooth) block (start, center, end, or nearest) inline (start, center, end, or nearest)

Changelog

Please check releases tab for full details

2.1.2

3 months ago

2.1.1

4 months ago

2.1.0

4 months ago

1.12.2

10 months ago

2.0.2

9 months ago

2.0.1

9 months ago

1.12.1

1 year ago

1.12.0

2 years ago

1.11.0

2 years ago

1.10.1

3 years ago

1.10.0

3 years ago

1.9.4

3 years ago

1.9.0

3 years ago

1.9.3

3 years ago

1.9.2

3 years ago

1.8.2

4 years ago

1.8.1

4 years ago

1.8.0-alpha2

4 years ago

1.8.0

4 years ago

1.8.0-alpha1

4 years ago

1.8.0-alpha0

4 years ago

1.7.0

4 years ago

1.6.0

4 years ago

1.5.4

4 years ago

1.5.3

5 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.1

6 years ago

1.1.0-rc2

6 years ago

1.1.0

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago