UNPKG

react-custom-scrollbars-2

Version:
121 lines (98 loc) 2.81 kB
# Usage ## Default Scrollbars The `<Scrollbars>` component works out of the box with some default styles. The only thing you need to care about is that the component has a `width` and `height`: ```javascript import { Scrollbars } from 'react-custom-scrollbars-2'; class App extends Component { render() { return ( <Scrollbars style={{ width: 500, height: 300 }}> <p>Some great content...</p> </Scrollbars> ); } } ``` Also don't forget to set the `viewport` meta tag, if you want to **support mobile devices** ```html <meta name="viewport" content="width=device-width, initial-scale=1.0"/> ``` ## Events There are several events you can listen to: ```javascript import { Scrollbars } from 'react-custom-scrollbars-2'; class App extends Component { render() { return ( <Scrollbars // Will be called with the native scroll event onScroll={this.handleScroll} // Runs inside the animation frame. Passes some handy values about the current scroll position onScrollFrame={this.handleScrollFrame} // Called when scrolling starts onScrollStart={this.handleScrollStart} // Called when scrolling stops onScrollStop={this.handlenScrollStop} // Called when ever the component is updated. Runs inside the animation frame onUpdate={this.handleUpdate}> <p>Some great content...</p> </Scrollbars> ); } } ``` ## Auto-hide You can activate auto-hide by setting the `autoHide` property. ```javascript import { Scrollbars } from 'react-custom-scrollbars-2'; class App extends Component { render() { return ( <Scrollbars // This will activate auto hide autoHide // Hide delay in ms autoHideTimeout={1000} // Duration for hide animation in ms. autoHideDuration={200}> <p>Some great content...</p> </Scrollbars> ); } } ``` ## Auto-height You can activate auto-height by setting the `autoHeight` property. ```javascript import { Scrollbars } from 'react-custom-scrollbars-2'; class App extends Component { render() { return ( <Scrollbars // This will activate auto-height autoHeight autoHeightMin={100} autoHeightMax={200}> <p>Some great content...</p> </Scrollbars> ); } } ``` ## Universal rendering If your app runs on both client and server, activate the `universal` mode. This will ensure that the initial markup on client and server are the same: ```javascript import { Scrollbars } from 'react-custom-scrollbars-2'; class App extends Component { render() { return ( // This will activate universal mode <Scrollbars universal> <p>Some great content...</p> </Scrollbars> ); } } ```