overlayscrollbars-react-better
v1.0.0
Published
OverlayScrollbars wrapper for React.
Downloads
4
Readme
Installation
npm install overlayscrollbars-react
Peer Dependencies
OverlayScrollbars for React has the following peer dependencies:
- The vanilla JavaScript library: overlayscrollbars
npm install overlayscrollbars
- The React framework: react
npm install react
TypeScript
- In case you are using TypeScript, you have to install the OverlayScrollbars typings:
npm install @types/overlayscrollbars
Since this wrapper is written in TypeScript it comes with its generated typings. Check out the recommended tsconfig.json options.
Usage
CSS
You have to import the OverlayScrollbars.css
by yourself.
The component doesn't do it for you as the styles are global styles!
There are different ways to achieve this, in React the most simple way for me was to add this line in the index
file:
import 'overlayscrollbars/css/OverlayScrollbars.css';
Import
Simply import the component into your file(s):
import { OverlayScrollbarsComponent } from 'overlayscrollbars-react';
Template
After the import you can use it in JSX:
<OverlayScrollbarsComponent>
example content
</OverlayScrollbarsComponent>
Properties
Two properties are accepted: options
and extensions
.
- The
options
property accepts aobject
and can be changed at any point in time, and the plugin will adapt. - The
extensions
property accepts astring
,string array
orobject
and is only taken into account if the component gets mounted.
<OverlayScrollbarsComponent
options={{ scrollbars: { autoHide: 'scroll' } }}
extensions={['extensionA', 'extensionB']}
>
</OverlayScrollbarsComponent>
You can read more about the options
object here, extensions
are documented here and here.
Instance
If you get the component reference, it provides two methods: osInstance()
and osTarget()
.
- The
osInstance()
method returns the OverlayScrollbarsinstance
of the component, ornull
if the instance isn't initialized yet or already destroyed. - The
osTarget()
method returns the nativehtml
element to which the plugin was initialized, ornull
if the the component isn't mounted yet or already unmounted.
Example App
In case you need a example app for reference, you can use the example app in this repo(example folder
):
If you wanna build the example app, run these commands:
npm run setup
npm run build
npm run example
License
MIT