115+ production-ready React Hooks for sensors, UI, state & browser APIs. Tree-shakable, SSR-safe, TypeScript-first. Used by Shopee, PDD & Ctrip. Inspired by VueUse.
See the codeSponsoring ReactUse puts your product in front of the React developers who install @reactuses/core every month — your logo right here at the top of the README, and on reactuse.com/sponsor. Live reach:
💎 Special Sponsors
|
Cenno Expense tracking for iPhone & iPad — no account, no server, no ads. Free on the App Store. |
Unscript English speaking practice for iPhone — say one real dialogue four times, with less of the script each time. Speech stays on your phone. Free on the App Store. |
FogAway Uncover the places you explore, record your routes, and revisit each day. Tracks stay on your phone. Available on the App Store. |
🥇 Gold, 🥈 Silver and 🥉 Bronze slots are open — claim one and your logo goes live here within 48 hours. Tiers, benefits and company invoicing: reactuse.com/sponsor.
ReactUse is a comprehensive collection of 100+ essential React Hooks for building modern React applications. Inspired by VueUse, it provides production-ready hooks for browser APIs, state management, sensors, animations, DOM elements, and more.
npm i @reactuses/core
import { useToggle } from "@reactuses/core";
const Demo = () => {
const [on, toggle] = useToggle(true);
return <button onClick={toggle}>{on ? "ON" : "OFF"}</button>;
};
useClipboard, useColorMode, useCookie, useDarkMode, useDocumentVisibility, useEyeDropper, useFavicon, useFileDialog, useFullscreen, useMediaDevices, useMediaQuery, useOnline, usePermission, usePlatform, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, useScreenSafeArea, useScriptTag, useTextDirection, useTitle, useWebNotification, useBroadcastChannel, useEventSource, useFetchEventSource, useGeolocation, useIdle, useKeyModifier, useMobileLandscape, useNetwork, useOrientation, usePageLeave, useSpeechRecognition, useWindowFocus, useWindowScroll, useWindowSize, and more...
useBoolean, useControlled, useCounter, useCycleList, useDebounce, useDebounceFn, useDisclosure, useLocalStorage, useMap, usePrevious, useSessionStorage, useSetState, useThrottle, useThrottleFn, useToggle, and more...
useClickOutside, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementSize, useElementVisibility, useFocus, useHover, useInfiniteScroll, useIntersectionObserver, useLongPress, useMeasure, useMouse, useMousePressed, useMutationObserver, useResizeObserver, useScroll, useScrollIntoView, and more...
useAsyncEffect, useCustomCompareEffect, useDeepCompareEffect, useEventListener, useInterval, useMount, useRafFn, useTimeout, useTimeoutFn, useUnmount, useUpdate, and more...
useQRCode
If you want to use the MCP (Model Context Protocol) integration with reactuse, you can easily set it up with the following configuration. This allows you to run the @reactuses/mcp utility via npx for enhanced command-line support and automation.
Add the following to your configuration:
"@reactuses/mcp": {
"command": "npx",
"args": ["-y", "@reactuses/mcp@latest"],
"type": "stdio"
}
📖 Full Documentation | 📖 LLM-friendly Documentation | 💬 Discord | 🐛 Issues
See the Contributing Guide
See the ChangeLog
This project is heavily inspired by the following awesome projects.
ReactUse is free, released into the public domain under the Unlicense, and maintained in spare time. If it saved you a day of work, consider becoming a sponsor (from $5/month) or buying me a coffee — it keeps the hooks maintained and the docs interactive. 🥰
188 followers · starred May 2025
262 followers · starred Jul 2024
342 followers · starred Aug 2026
3 followers · starred Jun 2026
115+ production-ready React Hooks for sensors, UI, state & browser APIs. Tree-shakable, SSR-safe, TypeScript-first. Used by Shopee, PDD & Ctrip. Inspired by VueUse.
See the codeSponsoring ReactUse puts your product in front of the React developers who install @reactuses/core every month — your logo right here at the top of the README, and on reactuse.com/sponsor. Live reach:
💎 Special Sponsors
|
Cenno Expense tracking for iPhone & iPad — no account, no server, no ads. Free on the App Store. |
Unscript English speaking practice for iPhone — say one real dialogue four times, with less of the script each time. Speech stays on your phone. Free on the App Store. |
FogAway Uncover the places you explore, record your routes, and revisit each day. Tracks stay on your phone. Available on the App Store. |
🥇 Gold, 🥈 Silver and 🥉 Bronze slots are open — claim one and your logo goes live here within 48 hours. Tiers, benefits and company invoicing: reactuse.com/sponsor.
ReactUse is a comprehensive collection of 100+ essential React Hooks for building modern React applications. Inspired by VueUse, it provides production-ready hooks for browser APIs, state management, sensors, animations, DOM elements, and more.
npm i @reactuses/core
import { useToggle } from "@reactuses/core";
const Demo = () => {
const [on, toggle] = useToggle(true);
return <button onClick={toggle}>{on ? "ON" : "OFF"}</button>;
};
useClipboard, useColorMode, useCookie, useDarkMode, useDocumentVisibility, useEyeDropper, useFavicon, useFileDialog, useFullscreen, useMediaDevices, useMediaQuery, useOnline, usePermission, usePlatform, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, useScreenSafeArea, useScriptTag, useTextDirection, useTitle, useWebNotification, useBroadcastChannel, useEventSource, useFetchEventSource, useGeolocation, useIdle, useKeyModifier, useMobileLandscape, useNetwork, useOrientation, usePageLeave, useSpeechRecognition, useWindowFocus, useWindowScroll, useWindowSize, and more...
useBoolean, useControlled, useCounter, useCycleList, useDebounce, useDebounceFn, useDisclosure, useLocalStorage, useMap, usePrevious, useSessionStorage, useSetState, useThrottle, useThrottleFn, useToggle, and more...
useClickOutside, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementSize, useElementVisibility, useFocus, useHover, useInfiniteScroll, useIntersectionObserver, useLongPress, useMeasure, useMouse, useMousePressed, useMutationObserver, useResizeObserver, useScroll, useScrollIntoView, and more...
useAsyncEffect, useCustomCompareEffect, useDeepCompareEffect, useEventListener, useInterval, useMount, useRafFn, useTimeout, useTimeoutFn, useUnmount, useUpdate, and more...
useQRCode
If you want to use the MCP (Model Context Protocol) integration with reactuse, you can easily set it up with the following configuration. This allows you to run the @reactuses/mcp utility via npx for enhanced command-line support and automation.
Add the following to your configuration:
"@reactuses/mcp": {
"command": "npx",
"args": ["-y", "@reactuses/mcp@latest"],
"type": "stdio"
}
📖 Full Documentation | 📖 LLM-friendly Documentation | 💬 Discord | 🐛 Issues
See the Contributing Guide
See the ChangeLog
This project is heavily inspired by the following awesome projects.
ReactUse is free, released into the public domain under the Unlicense, and maintained in spare time. If it saved you a day of work, consider becoming a sponsor (from $5/month) or buying me a coffee — it keeps the hooks maintained and the docs interactive. 🥰
188 followers · starred May 2025
262 followers · starred Jul 2024
342 followers · starred Aug 2026
3 followers · starred Jun 2026