@hotelsoap/react-locomotive-scroll
v0.1.13
Published
A locomotive-scroll React wrapper - but polyfilled
Downloads
2
Maintainers
Readme
Getting Started
To get a local copy up and running follow these simple steps.
Installation
$ npm install locomotive-scroll react-locomotive-scroll
or using Yarn
$ yarn add locomotive-scroll react-locomotive-scroll
Usage
Import the provider
import { LocomotiveScrollProvider } from 'react-locomotive-scroll'
Wrap your application using the provider
const containerRef = useRef(null)
<LocomotiveScrollProvider
options={
{
smooth: true,
// ... all available Locomotive Scroll instance options
}
}
watch={
[
//...all the dependencies you want to watch to update the scroll
]
}
containerRef={containerRef}
>
<main data-scroll-container ref={containerRef}>
{/* ...your app */}
</main>
</LocomotiveScrollProvider>
Wrap your pages using data-scroll-section
to prevent weird behaviours
export function Page() {
return (
<div data-scroll-section>
{/* ...your page */}
</div>
)
}
Get the scroll instance through all your components
import { useLocomotiveScroll } from 'react-locomotive-scroll'
export function Component() {
const { scroll } = useLocomotiveScroll()
// ... your component
}
At this time you should be able to do whatever your want using the scroll object.
For more examples and to use Locomotive Scroll, please refer to their Documentation
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Antoine Lin - @vahilloff - [email protected]
Project Link: https://github.com/toinelin/react-locomotive-scroll
Acknowledgements
Please feel free to open a pull request to add your project to the list!