Claude
Skills
Sign in
Back

react-use

Included with Lifetime
$97 forever

Collection of essential React Hooks for sensors, UI, animations, side-effects, lifecycles, and state management

Design

What this skill does


# react-use

> The skill is based on react-use v17.6.0, generated at 2026-01-29.

react-use is a collection of essential React Hooks that provide ready-to-use functionality for common patterns in React applications. It includes hooks for sensors, UI interactions, animations, side-effects, lifecycle management, and state management.

## Core References

| Topic | Description | Reference |
|-------|-------------|-----------|
| Usage | Import patterns and tree-shaking recommendations | [core-usage](references/core-usage.md) |

## Sensors

Sensor hooks listen to changes in browser APIs and device interfaces, forcing components to re-render with updated state.

| Topic | Description | Reference |
|-------|-------------|-----------|
| useBattery | Tracks device battery status | [sensors-battery](references/sensors-battery.md) |
| useGeolocation | Tracks geo location state of user's device | [sensors-geolocation](references/sensors-geolocation.md) |
| useHover | Tracks mouse hover state of an element | [sensors-hover](references/sensors-hover.md) |
| useHash | Tracks location hash value | [sensors-hash](references/sensors-hash.md) |
| useIdle | Tracks whether user is being inactive | [sensors-idle](references/sensors-idle.md) |
| useIntersection | Tracks an HTML element's intersection | [sensors-intersection](references/sensors-intersection.md) |
| useKey | Tracks key presses | [sensors-key](references/sensors-key.md) |
| useKeyPress | Tracks key press state | [sensors-key-press](references/sensors-key-press.md) |
| useKeyPressEvent | Handles key press events | [sensors-key-press-event](references/sensors-key-press-event.md) |
| useKeyboardJs | Tracks keyboard key combinations | [sensors-keyboard-js](references/sensors-keyboard-js.md) |
| useLocation | Tracks page navigation bar location state | [sensors-location](references/sensors-location.md) |
| useSearchParam | Tracks URL search parameters | [sensors-search-param](references/sensors-search-param.md) |
| useLongPress | Tracks long press gesture | [sensors-long-press](references/sensors-long-press.md) |
| useMedia | Tracks state of a CSS media query | [sensors-media](references/sensors-media.md) |
| useMediaDevices | Tracks state of connected hardware devices | [sensors-media-devices](references/sensors-media-devices.md) |
| useMotion | Tracks state of device's motion sensor | [sensors-motion](references/sensors-motion.md) |
| useMouse | Tracks state of mouse position | [sensors-mouse](references/sensors-mouse.md) |
| useMouseWheel | Tracks deltaY of scrolled mouse wheel | [sensors-mouse-wheel](references/sensors-mouse-wheel.md) |
| useNetworkState | Tracks browser's network connection state | [sensors-network-state](references/sensors-network-state.md) |
| useOrientation | Tracks device's screen orientation | [sensors-orientation](references/sensors-orientation.md) |
| usePageLeave | Triggers when mouse leaves page boundaries | [sensors-page-leave](references/sensors-page-leave.md) |
| useScratch | Tracks mouse click-and-scrub state | [sensors-scratch](references/sensors-scratch.md) |
| useScroll | Tracks an HTML element's scroll position | [sensors-scroll](references/sensors-scroll.md) |
| useScrolling | Tracks whether HTML element is scrolling | [sensors-scrolling](references/sensors-scrolling.md) |
| useStartTyping | Detects when user starts typing | [sensors-start-typing](references/sensors-start-typing.md) |
| useWindowScroll | Tracks Window scroll position | [sensors-window-scroll](references/sensors-window-scroll.md) |
| useWindowSize | Tracks Window dimensions | [sensors-window-size](references/sensors-window-size.md) |
| useMeasure | Tracks an HTML element's dimensions | [sensors-measure](references/sensors-measure.md) |
| useSize | Tracks element size | [sensors-size](references/sensors-size.md) |
| createBreakpoint | Tracks innerWidth with breakpoints | [sensors-breakpoint](references/sensors-breakpoint.md) |
| useScrollbarWidth | Detects browser's native scrollbars width | [sensors-scrollbar-width](references/sensors-scrollbar-width.md) |
| usePinchZoom | Tracks pointer events to detect pinch zoom | [sensors-pinch-zoom](references/sensors-pinch-zoom.md) |

## UI

UI hooks allow you to control and subscribe to state changes of UI elements.

| Topic | Description | Reference |
|-------|-------------|-----------|
| useAudio | Plays audio and exposes its controls | [ui-audio](references/ui-audio.md) |
| useClickAway | Triggers callback when user clicks outside target area | [ui-click-away](references/ui-click-away.md) |
| useCss | Dynamically adjusts CSS | [ui-css](references/ui-css.md) |
| useDrop | Tracks file, link and copy-paste drops | [ui-drop](references/ui-drop.md) |
| useFullscreen | Display an element or video full-screen | [ui-fullscreen](references/ui-fullscreen.md) |
| useSlider | Provides slide behavior over any HTML element | [ui-slider](references/ui-slider.md) |
| useSpeech | Synthesizes speech from a text string | [ui-speech](references/ui-speech.md) |
| useVibrate | Provides physical feedback using Vibration API | [ui-vibrate](references/ui-vibrate.md) |
| useVideo | Plays video, tracks its state, and exposes playback controls | [ui-video](references/ui-video.md) |

## Animations

Animation hooks usually interpolate numeric values over time.

| Topic | Description | Reference |
|-------|-------------|-----------|
| useRaf | Re-renders component on each requestAnimationFrame | [animations-raf](references/animations-raf.md) |
| useInterval | Re-renders component on a set interval | [animations-interval](references/animations-interval.md) |
| useHarmonicIntervalFn | Harmonic interval function | [animations-harmonic-interval](references/animations-harmonic-interval.md) |
| useSpring | Interpolates number over time according to spring dynamics | [animations-spring](references/animations-spring.md) |
| useTimeout | Re-renders component after a timeout | [animations-timeout](references/animations-timeout.md) |
| useTimeoutFn | Calls given function after a timeout | [animations-timeout-fn](references/animations-timeout-fn.md) |
| useTween | Re-renders component while tweening a number from 0 to 1 | [animations-tween](references/animations-tween.md) |
| useUpdate | Returns a callback which re-renders component when called | [animations-update](references/animations-update.md) |

## Side-effects

Side-effect hooks allow your app to trigger various side-effects using browser's API.

| Topic | Description | Reference |
|-------|-------------|-----------|
| useAsync | Resolves an async function | [side-effects-async](references/side-effects-async.md) |
| useAsyncFn | Async function with manual execution | [side-effects-async-fn](references/side-effects-async-fn.md) |
| useAsyncRetry | Async function with retry capability | [side-effects-async-retry](references/side-effects-async-retry.md) |
| useBeforeUnload | Shows browser alert when user tries to reload or close the page | [side-effects-before-unload](references/side-effects-before-unload.md) |
| useCookie | Provides way to read, update and delete a cookie | [side-effects-cookie](references/side-effects-cookie.md) |
| useCopyToClipboard | Copies text to clipboard | [side-effects-copy-to-clipboard](references/side-effects-copy-to-clipboard.md) |
| useDebounce | Debounces a function | [side-effects-debounce](references/side-effects-debounce.md) |
| useError | Error dispatcher | [side-effects-error](references/side-effects-error.md) |
| useFavicon | Sets favicon of the page | [side-effects-favicon](references/side-effects-favicon.md) |
| useLocalStorage | Manages a value in localStorage | [side-effects-local-storage](references/side-effects-local-storage.md) |
| useSessionStorage | Manages a value in sessionStorage | [side-effects-session-storage](references/side-effects-session-storage.md) |
| useLockBodyScroll | Locks scrolling of the body element | [side-effects-lock-body-scroll](references/side-effects-lock-body-scroll.md) |
| useRaf
Files: 112
Size: 148.8 KB
Complexity: 69/100
Category: Design

Related in Design