8.0.6 • Published 8 years ago
react-smooth-scrollbar v8.0.6
react-smooth-scrollbar
smooth-scrollbar for react projects.
Requirements
React 0.14+
Install
npm install react-smooth-scrollbar smooth-scrollbar --saveDemo
http://idiotwu.github.io/react-smooth-scrollbar/
Usage
import React from 'react';
import ReactDOM from 'react-dom';
import Scrollbar from 'react-smooth-scrollbar';
class App extends React.Component {
render() {
return (
<Scrollbar
damping={number},
thumbMinSize={number},
syncCallbacks={boolean},
renderByPixels={boolean},
alwaysShowTracks={boolean},
continuousScrolling={boolean},
wheelEventTarget={element},
plugins={object},
onScroll={func},
>
your contents here...
</Scrollbar>
);
}
}
ReactDOM.render(<App />, document.body);Available Options
| parameter | type | default | description |
|---|---|---|---|
| damping | number | 0.1 | Momentum reduction damping factor, a float value between (0, 1). The lower the value is, the more smooth the scrolling will be (also the more paint frames). |
| thumbMinSize | number | 20 | Minimal size for scrollbar thumbs. |
| renderByPixels | boolean | true | Render every frame in integer pixel values, set to true to improve scrolling performance. |
| alwaysShowTracks | boolean | false | Keep scrollbar tracks visible. |
| continuousScrolling | boolean | true | Set to true to allow outer scrollbars continue scrolling when current scrollbar reaches edge. |
| wheelEventTarget | EventTarget | null | Element to be used as a listener for mouse wheel scroll events. By default, the container element is used. This option will be useful for dealing with fixed elements. |
| plugins | object | {} | Options for plugins, see Plugin System. |
Confusing with the option field? Try edit tool here!
Using Scrollbar Plugins
import { Component } from 'react';
import PropTypes from 'prop-types';
import SmoothScrollbar from 'smooth-scrollbar';
import OverscrollPlugin from 'smooth-scrollbar/plugins/overflow';
import Scrollbar from 'react-smooth-scrollbar';
SmoothScrollbar.use(OverscrollPlugin);
class App2 extends Component {
render() {
return (
<Scrollbar> ... </Scrollbar>
);
}
}Get Scrollbar Instance
Use
refin parent component:class Parent extends React.Component { componentDidMount() { const { scrollbar } = this.$container; } render() { return ( <Scrollbar ref={c => this.$container = c}> your content... </Scrollbar> ); } }Use
Contextin child component:class Child extends React.Component { static contextTypes = { getScrollbar: React.PropTypes.func }; componentDidMount() { this.context.getScrollbar((scrollbar) => { // ... }); } render() { return <div> this is child component. </div>; } } class App extends React.Component { render(){ return ( <Scrollbar> <Child /> </Scrollbar> ); } }
APIs
License
MIT.
8.0.6
8 years ago
8.0.5
8 years ago
8.0.4
8 years ago
8.0.3
8 years ago
8.0.2
8 years ago
8.0.1
8 years ago
7.2.2
9 years ago
7.2.1
9 years ago
7.2.0
9 years ago
7.1.2
9 years ago
7.1.1
9 years ago
7.1.0
9 years ago
7.0.0
9 years ago
6.4.0
9 years ago
6.3.3
9 years ago
6.3.2
9 years ago
6.3.1
9 years ago
6.3.0
9 years ago
6.2.0
9 years ago
6.1.0
9 years ago
6.0.0
9 years ago
5.6.0
10 years ago
5.5.0
10 years ago
5.4.0
10 years ago
5.3.0
10 years ago
5.2.1
10 years ago
5.2.0
10 years ago
5.0.1
10 years ago
5.0.0
10 years ago
4.2.1
10 years ago
4.2.0
10 years ago
4.1.0
10 years ago
4.0.0
10 years ago
2.0.0
10 years ago
1.0.0
10 years ago