useScroll

A small utility abstraction around our signature useSpring hook. It's a great way to create a scroll-linked animation. With either the raw value of distance or a 0-1 progress value. You can either use the scroll values of the whole document, or just a specific element.

Usage

The example below will start off with an opacity of 0 but when the user scrolls to the bottom of the page it will have reached an opacity of 1.

import { useScroll, animated } from '@react-spring/web'
function MyComponent() {
const { scrollYProgress } = useScroll()
return (
<animated.div style={{ opacity: scrollYProgress }}>
Hello World
</animated.div>
)
}

Reference

PropTypeDefault
containerReact.MutableRefObject<HTMLElement>
delaynumber | function
immediateboolean | function
resetboolean
reverseboolean
pauseboolean
refSpringRef
configobject | functionobject
eventsfunction

Typescript

function useScroll(configuration: ConfigObject): SpringValues

Where ConfigObject is described above

Examples

    Can't find what you're looking for? Check out all our examples!