TopGit / streamich/react-use GITHUB SNAPSHOT
streamich/react-use S TopGit repo profile for streamich/react-use, with GitHub repository stats and README context. Review Readme Prompt Clone Social mentions Comments
QUICK VERDICT
streamich/react-use sits at 44.0k stars on GitHub, written primarily in TypeScript. React Hooks — 👍
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Snapshot Stars ★ 44.0k
Forks ⑂ 3.3k
Language TypeScript
Topic —
License Unlicense
Read our review methodology ↗
Top contributors Show top contributors
👍
react-use
Collection of essential React Hooks.
Port of libreact.
Translations: 🇨🇳 汉语
Sensors
useBattery — tracks device battery state.
useGeolocation — tracks geo location state of user's device.
useHover and useHoverDirty — tracks mouse hover state of some element.
useHash — tracks location hash value.
useIdle — tracks whether user is being inactive.
useIntersection — tracks an HTML element's intersection.
useKey, useKeyPress, useKeyboardJs, and useKeyPressEvent — track keys.
useLocation and useSearchParam — tracks page navigation bar location state.
useLongPress — tracks long press gesture of some element.
useMedia — tracks state of a CSS media query.
useMediaDevices — tracks state of connected hardware devices.
useMotion — tracks state of device's motion sensor.
useMouse and useMouseHovered — tracks state of mouse position.
useMouseWheel — tracks deltaY of scrolled mouse wheel.
useNetworkState — tracks the state of browser's network connection.
useOrientation — tracks state of device's screen orientation.
usePageLeave — triggers when mouse leaves page boundaries.
useScratch — tracks mouse click-and-scrub state.
useScroll — tracks an HTML element's scroll position.
useScrolling — tracks whether HTML element is scrolling.
useStartTyping — detects when user starts typing.
useWindowScroll — tracks Window scroll position.
useWindowSize — tracks Window dimensions.
useMeasure and useSize — tracks an HTML element's dimensions.
createBreakpoint — tracks innerWidth
useScrollbarWidth — detects browser's native scrollbars width.
usePinchZoom — tracks pointer events to detect pinch zoom in and out status.
UI
useAudio — plays audio and exposes its controls.
useClickAway — triggers callback when user clicks outside target area.
useCss — dynamically adjusts CSS.
useDrop and useDropArea — tracks file, link and copy-paste drops.
useFullscreen — display an element or video full-screen.
useSlider — provides slide behavior over any HTML element.
useSpeech — synthesizes speech from a text string.
useVibrate — provide physical feedback using the Vibration API.
useVideo — plays video, tracks its state, and exposes playback controls.
Animations
useRaf — re-renders component on each requestAnimationFrame.
useInterval and useHarmonicIntervalFn — re-renders component on a set interval using setInterval.
useSpring — interpolates number over time according to spring dynamics.
useTimeout — re-renders component after a timeout.
useTimeoutFn — calls given function after a timeout.
useTween — re-renders component, while tweening a number from 0 to 1.
useUpdate — returns a callback, which re-renders component when called.
Side-effects
useAsync, useAsyncFn, and useAsyncRetry — resolves an async function.
useBeforeUnload — shows browser alert when user try to reload or close the page.
useCookie — provides way to read, update and delete a cookie.
useCopyToClipboard — copies text to clipboard.
useDebounce — debounces a function.
useError — error dispatcher.
useFavicon — sets favicon of the page.
useLocalStorage — manages a value in localStorage.
useLockBodyScroll — lock scrolling of the body element.
useRafLoop — calls given function inside the RAF loop.
useSessionStorage — manages a value in sessionStorage.
useThrottle and useThrottleFn — throttles a function.
useTitle — sets title of the page.
usePermission — query permission status for browser APIs.
Lifecycles
useEffectOnce — a modified useEffect hook that only runs once.
useEvent — subscribe to events.
useLifecycles — calls mount and unmount callbacks.
useMountedState and useUnmountPromise — track if component is mounted.
usePromise — resolves promise only while component is mounted.
useLogger — logs in console as component goes through life-cycles.
useMount — calls mount callbacks.
useUnmount — calls unmount callbacks.
useUpdateEffect — run an effect only on updates.
useIsomorphicLayoutEffect — useLayoutEffect that that works on server.
useDeepCompareEffect, useShallowCompareEffect, and useCustomCompareEffect
State
createMemo — factory of memoized hooks.
createReducer — factory of reducer hooks with custom middleware.
createReducerContext and createStateContext — factory of hooks for a sharing state between components.
useDefault — returns the default value when state is null or undefined.
useGetSet — returns state getter get() instead of raw state.
useGetSetState — as if useGetSet and useSetState had a baby.
useLatest — returns the latest state or props
usePrevious — returns the previous state or props.
usePreviousDistinct — like usePrevious but with a predicate to determine if previous should update.
useObservable — tracks latest value of an Observable.
useRafState — creates setState method which only updates after requestAnimationFrame.
useSetState — creates setState method which works like this.setState.
useStateList — circularly iterates over an array.
useToggle and useBoolean — tracks state of a boolean.
useCounter and useNumber — tracks state of a number.
useList and useUpsert — tracks state of an array.
useMap — tracks state of an object.
useSet — tracks state of a Set.
useQueue — implements simple queue.
useStateValidator — tracks state of an object.
useStateWithHistory — stores previous state values and provides handles to travel through them.
useMultiStateValidator — alike the useStateValidator, but tracks multiple states at a time.
useMediatedState — like the regular useState but with mediation by custom function.
useFirstMountState — check if current render is first.
useRendersCount — count component renders.
createGlobalState — cross component shared state.
useMethods — neat alternative to useReducer.
Miscellaneous
useEnsuredForwardedRef and ensuredForwardRef — use a React.forwardedRef safely.
Usage — how to import.
Unlicense — public domain.
Support — add yourself to backer list below.
Contributors
FREQUENTLY ASKED
Quick answers Is streamich/react-use open source? Yes — streamich/react-use ships under the Unlicense license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/streamich/react-use.
What is streamich/react-use? streamich/react-use (streamich/react-use) is a TypeScript project on GitHub. From the project's own README: React Hooks — 👍
What license does streamich/react-use use? streamich/react-use is released under the Unlicense license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where can I see streamich/react-use in action? The project maintains a homepage at http://streamich.github.io/react-use. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about streamich/react-use? This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/streamich/react-use is the definitive source.
Read full README in the tab above.
Want a second opinion on react-use? Ask an AI that can read this page — one click and you get its take on react-use.