A react hook to use scroll position.
import React from 'react';
// Usually you would just need to import one of the following
import { useScrollPosition, useScrollXPosition, useScrollYPosition } from 'react-use-scroll-position';
function Example() {
const { x, y } = useScrollPosition();
const scrollX = useScrollXPosition();
const scrollY = useScrollYPosition();
return (
<>
<p>
{x} should equal to {scrollX}.
</p>
<p>
{y} should equal to {scrollY}.
</p>
</>
);
}
import { useScrollPosition } from 'react-use-scroll-position';
function useYourImagination() {
const { x, y } = useScrollPosition();
return getSomethingAwesomeWith(x, y);
}
The scroll event handler is throttled by requestAnimationFrame
.