Sobre o projeto
react-use é uma coleção de código aberto de Hooks React reutilizáveis, descrita em seu README como um port do projeto libreact. É distribuído como o pacote npm `react-use` e é lançado em domínio público sob a Unlicense.
O README organiza os Hooks em vários grupos:
- Sensores: Hooks como 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 e usePinchZoom.
- UI: useAudio, useClickAway, useCss, useDrop/useDropArea, useFullscreen, useSlider, useSpeech, useVibrate e useVideo.
- Animações: useRaf, useInterval/useHarmonicIntervalFn, useSpring, useTimeout, useTimeoutFn, useTween e useUpdate.
- Efeitos colaterais: useAsync/useAsyncFn/useAsyncRetry, useBeforeUnload, useCookie, useCopyToClipboard, useDebounce, useError, useFavicon, useLocalStorage, useLockBodyScroll, useRafLoop, useSessionStorage, useThrottle/useThrottleFn, useTitle e usePermission.
- Ciclos de vida: useEffectOnce, useEvent, useLifecycles, useMountedState/useUnmountPromise, usePromise, useLogger, useMount, useUnmount, useUpdateEffect, useIsomorphicLayoutEffect e os Hooks de comparação de efeitos (useDeepCompareEffect, useShallowCompareEffect, useCustomCompareEffect).
- Estado: 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 e useMethods.
- Diversos: useEnsuredForwardedRef e ensuredForwardRef.
Cada Hook é documentado em seu próprio arquivo no diretório docs, e muitas entradas linkam para demonstrações ao vivo hospedadas no site Storybook do projeto ou no CodeSandbox. O README também linka para uma tradução chinesa da documentação e observa que o projeto é apoiado por meio do Open Collective. A instalação é mostrada como `npm i react-use`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.