Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/neo/react-use-scroll-position

A react hook to use scroll position
https://github.com/neo/react-use-scroll-position

react react-hook react-hooks scroll

Last synced: 14 days ago
JSON representation

A react hook to use scroll position

Awesome Lists containing this project

README

        

# react-use-scroll-position

[![npm package](https://img.shields.io/npm/v/react-use-scroll-position.svg)](https://www.npmjs.com/package/react-use-scroll-position) ![](https://img.shields.io/npm/types/react-use-scroll-position.svg)

A [react hook](https://reactjs.org/docs/hooks-intro.html) to use scroll position.

## Usage

### In a React functional component:

```tsx
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 (
<>


{x} should equal to {scrollX}.



{y} should equal to {scrollY}.


>
);
}
```

### In a custom React hook

```tsx
import { useScrollPosition } from 'react-use-scroll-position';

function useYourImagination() {
const { x, y } = useScrollPosition();
return getSomethingAwesomeWith(x, y);
}
```

# Implementation details

The scroll event handler is throttled by `requestAnimationFrame`.