import * as React from 'react'; import * as equal from 'fast-deep-equal'; import {PureComponent, HTMLProps} from 'react'; import {Scrollbars as ReactCustomScrollbars} from 'react-custom-scrollbars'; export interface ScrollbarsProps extends HTMLProps { autoReset?: boolean; } export class Scrollbars extends PureComponent { private scrollbars: ReactCustomScrollbars; static defaultProps: ScrollbarsProps = { autoReset: false, }; componentWillReceiveProps(nextProps: ScrollbarsProps) { if (nextProps.autoReset && !equal(nextProps.children, this.props.children)) { this.scrollbars.scrollToTop(); } } render() { const {children, style} = this.props; return ( this.scrollbars = instance} style={style} > {this.props.children} ); } scrollToTop() { this.scrollbars.scrollToTop(); } }