Об этом проекте

react-use — это открытая коллекция переиспользуемых React-хуков, описанная в README как порт проекта libreact. Она распространяется как npm-пакет `react-use` и выпущена в общественное достояние под лицензией Unlicense. README группирует хуки по нескольким категориям: - Сенсоры: хуки, такие как useBattery, useGeolocation, useHover, useHash, useIdle, useIntersection, useKey/useKeyPress/useKeyboardJs/useKeyPressEvent, useLocation/useSearchParam, useLongPress, useMedia, useMediaDevices, useMotion, useMouse/useMouseHovered, useMouseWheel, useNetworkState, useOrientation, usePageLeave, useScratch, useScroll, useScrolling, useStartTyping, useWindowScroll, useWindowSize, useMeasure/useSize, createBreakpoint, useScrollbarWidth и usePinchZoom. - UI: useAudio, useClickAway, useCss, useDrop/useDropArea, useFullscreen, useSlider, useSpeech, useVibrate и useVideo. - Анимации: useRaf, useInterval/useHarmonicIntervalFn, useSpring, useTimeout, useTimeoutFn, useTween и useUpdate. - Побочные эффекты: useAsync/useAsyncFn/useAsyncRetry, useBeforeUnload, useCookie, useCopyToClipboard, useDebounce, useError, useFavicon, useLocalStorage, useLockBodyScroll, useRafLoop, useSessionStorage, useThrottle/useThrottleFn, useTitle и usePermission. - Жизненные циклы: useEffectOnce, useEvent, useLifecycles, useMountedState/useUnmountPromise, usePromise, useLogger, useMount, useUnmount, useUpdateEffect, useIsomorphicLayoutEffect и хуки сравнения (useDeepCompareEffect, useShallowCompareEffect, useCustomCompareEffect). - Состояние: createMemo, createReducer, createReducerContext/createStateContext, useDefault, useGetSet, useGetSetState, useLatest, usePrevious, usePreviousDistinct, useObservable, useRafState, useSetState, useStateList, useToggle/useBoolean, useCounter/useNumber, useList, useMap, useSet, useQueue, useStateValidator, useStateWithHistory, useMultiStateValidator, useMediatedState, useFirstMountState, useRendersCount, createGlobalState и useMethods. - Прочее: useEnsuredForwardedRef и ensuredForwardRef. Каждый хук документирован в отдельном файле в каталоге docs, а многие записи содержат ссылки на живые демонстрации, размещённые на сайте Storybook проекта или в CodeSandbox. В README также есть ссылка на перевод документации на китайский язык и указано, что проект поддерживается через Open Collective. Установка показана как `npm i react-use`.