A thin component wrapper around scroll-into-view-if-needed
npm install react-scroll-into-view-if-needed

A thin react component wrapper bundled with the fantastic scroll-into-view-if-needed ponyfill.
yarn add react-scroll-into-view-if-needed
or
npm install react-scroll-into-view-if-needed --save
``js
import ScrollIntoViewIfNeeded from 'react-scroll-into-view-if-needed';
const MyComponent = () => (
Props
Each prop is described in detail below, but for a quicker reference - check out the propTypes object in src.
#### options
> Type:
object
> Default: { behavior: 'smooth', scrollMode: 'if-needed' }Full list of options are described here
`js
scrollMode: 'always',
}}>
Hello
`#### active
> Type:
boolean
> Default: trueThe
active prop allows controll of _when_ to scroll to the component. By default, it will attempt to scroll as soon as it is mounted, but you can set this prop to manually control when to trigger the scroll behavior from the parent component.`js
class Example extends React.PureComponent {
constructor(props) {
super(props);
this.state = { active: false };
} handleScrollToggle = () => this.setState({ active: !this.state.active });
render() {
const { active } = this.state;
return (
Hello
);
}
}
`#### elementType
> Type:
string
> Default: 'div'Set the wrapper component type. For example, this could also be
'footer', 'button', etc... See the React createElement api.`js
Hello
`#### className, id, etc
You can also pass normal element attributes like
className to the component.`js
Hello
`Standalone Version
The standalone version does not come bundled with scroll-into-view-if-needed. Use this version if you'd like to maintain your own dependency, or if you're already using scroll-into-view-if-needed in other areas of your project.
ES version:
import ScrollIntoViewIfNeeded from 'react-scroll-into-view-if-needed/dist/es/standalone.js'UMD version:
import ScrollIntoViewIfNeeded from 'react-scroll-into-view-if-needed/dist/umd/standalone.js'Upgrading from v1
This project has been updated along with scroll-into-view-if-needed and accepts the same
options`. Check out the migration guide over there!