react-use-scroll-to
v0.3.2
Published
Welcome to react-use-scroll-to API! Which allows to use bind scroll points in any place at your react project easily ✨. Package is light and supports TS natively. Let`s have some fun! ⚡️
Downloads
9
Maintainers
Readme
Introdution
Welcome to react-use-scroll-to API! Which allows to use bind scroll points in any place at your react project easily ✨. Package is light and supports TS natively. Let`s have some fun! ⚡️
Instalation
To install package you will need to use
npm i react-use-scroll-toTypes are also available
npm i @types/react-use-scroll-toDocumentation
Let`s see what do we have here ?
API itself has several components:
<ScrollTopContextProvider>- top-level context based on React context API which stores all the<ScrollPoints>refs. Just wrap everything you have in App or somewhere with it to provide the scope.<ScrollPoint>- one of possible point to scroll at. Basically just a component based on ReactHTMLElementwith one additional prop namedtag. Tag is just attribute you will need to use to bind window scroll to certain block (section) of your application.<Link>- component which takes anelementTagprops and binds scroller to given element (just like<a>tag at html withhref="#"attribute)
Using things above will be super enough to build basic scroll-points functionality. If you will need to build custom logical stuff - you will be happy to know that package has useScrollTo hook. Just check it out 😉
Usage/Examples
First of all let's cover scope of your application with <ScrollTopContextProvider>. It's needed to collect all the <Link> components and store them into refs. Yes, this thing is react-friendly and using refs underhood 🤓.
import {
ScrollTopContextProvider,
} from "react-use-scroll-to";
function MyAwesomeApp () => {
<ScrollTopContextProvider>
// your components here
</ScrollTopContextProvider>
}Then would be needed to add some scroll points...
import {
ScrollTopContextProvider,
ScrollPoint
} from "react-use-scroll-to";
function MyAwesomeApp () => {
<ScrollTopContextProvider>
<ScrollPoint tag="section-1">
<h1>I am first section</h1>
</ScrollPoint>
<ScrollPoint tag="section-2">
<h2>I am second section</h2>
</ScrollPoint>
<ScrollPoint tag="section-3">
<h3>I am third section</h3>
</ScrollPoint>
</ScrollTopContextProvider>
}Looks good, and finally, let's add links to our scroll points!
import {
ScrollTopContextProvider,
ScrollPoint,
Link
} from "react-use-scroll-to";
function MyAwesomeApp () => {
<ScrollTopContextProvider>
<header>
<Link elementTag="section-1" >Section 1</Link>
<Link elementTag="section-2" >Section 2</Link>
<Link elementTag="section-3" >Section 3</Link>
</header>
<ScrollPoint tag="section-1">
<h1>I am first section</h1>
</ScrollPoint>
<ScrollPoint tag="section-2">
<h2>I am second section</h2>
</ScrollPoint>
<ScrollPoint tag="section-3">
<h3>I am third section</h3>
</ScrollPoint>
</ScrollTopContextProvider>
}Wonderful! This is it! 🦾
Author
Badges
