Collection of React Hooks

Warning: Hooks are currently a React RFC and not ready for production.

You can add your hooks by opening a pull-request at https://github.com/nikgraf/react-hooks.

Found 103 entries
https://github.com/Andarist/react-selector-hooks

createSelector

import { createSelector } from "react-selector-hooks";
https://github.com/Andarist/react-selector-hooks

createStateSelector

import { createStateSelector } from "react-selector-hooks";
https://github.com/Andarist/react-selector-hooks

createStructuredSelector

import { createStructuredSelector } from "react-selector-hooks";
https://github.com/jacob-ebey/react-hook-utils

globalReducer

import {} from 'react-hook-utils'
ReducerGlobalSelectableState
https://github.com/aiven715/promise-hook

promise-hook

import { usePromise } from "promise-hook";
Network
https://github.com/dai-shi/react-hooks-global-state

react-hooks-global-state

import { createGlobalState } from "react-hooks-global-state";
State Management
https://github.com/AvraamMavridis/react-intersection-visible-hook

react-intersection-visible-hook

import useIntersectionVisible from "react-intersection-visible-hook";
ViewportVisible
https://github.com/AvraamMavridis/react-window-communication-hook

react-window-communication-hook

import useBrowserContextCommunication from "react-window-communication-hook";
Communication
https://github.com/mauricedb/use-abortable-fetch

useAbortableFetch

import useAbortableFetch from 'use-abortable-fetch'
NetworkFetchAjaxAborting
https://github.com/kalcifer/react-powerhooks

useActive

import { useActive } from "react-powerhooks";
https://github.com/trojanowski/react-apollo-hooks

useApolloClient

import { useApolloClient } from "react-apollo-hooks"
graphQLNetworkState Management
https://github.com/trojanowski/react-apollo-hooks

useApolloMutation

import { useApolloMutation } from "react-apollo-hooks"
graphQLNetworkState Management
https://github.com/trojanowski/react-apollo-hooks

useApolloQuery

import { useApolloQuery } from "react-apollo-hooks"
graphQLNetworkState Management
https://github.com/kitze/react-hanger

useArray

import { useArray } from "react-hanger";
State Management
https://github.com/streamich/react-use

useAsync

import { useAsync } from "react-use";
Side-effectAsync
https://github.com/streamich/react-use

useAudio

import { useAudio } from "react-use";
UIAudio
https://github.com/streamich/react-use

useBattery

import { useBattery } from "react-use";
SensorBrowser-APIBattery
https://github.com/kitze/react-hanger

useBoolean

import { useBoolean } from "react-hanger";
State Management
https://github.com/facebook/react

useCallback

import { useCallback } from "react";
React Core
https://github.com/Andarist/use-callbag

useCallbag

import useCallbag from "use-callbag";
Streams
https://github.com/rehooks/component-size

useComponentSize

import useWindowSize from "@rehooks/component-size";
Layout
https://github.com/facebook/react

useContext

import { useContext } from "react";
React Core
https://github.com/streamich/react-use

useCounter

import { useCounter } from "react-use";
State
https://github.com/streamich/react-use

useCss

import { useCss } from "react-use";
Side-effectUICSS
https://github.com/xnimorz/use-debounce

useDebounce

import { useDebounce } from 'use-debounce
Debounce
https://github.com/palmerhq/the-platform

useDeviceMotion

import useDeviceMotion from "the-platform";
https://github.com/palmerhq/the-platform

useDeviceOrientation

import useDeviceOrientation from "the-platform";
https://github.com/rehooks/document-title

useDocumentTitle

import useDocumentTitle from "@rehooks/document-title";
https://github.com/rehooks/document-visibility

useDocumentVisibility

import useWindowSize from "@rehooks/document-visibility";
Layout
https://github.com/forthealllight/dom-location

useDomLocation

import useDomLocation from "dom-location";
UILocation
https://github.com/facebook/react

useEffect

import { useEffect } from "react";
React Core
https://github.com/streamich/react-use

useFavicon

import { useFavicon } from "react-use";
Side-effectFavicon
https://github.com/palmerhq/the-platform

useGeoPosition

import useGeoPosition from "the-platform";
https://github.com/streamich/react-use

useGeolocation

import { useGeolocation } from "react-use";
SensorBrowser-APIGeoLocation
https://github.com/capaj/use-graphql-request

useGraphqlRequest

import { setupClient } from "use-graphql-request"
graphQLNetwork
https://github.com/streamich/react-use

useHover

import { useHover } from "react-use";
SensorUIMouseHover
https://github.com/kigiri/react-use-idb

useIdb

import { useIdb } from "react-use-idb"
IndexDBLocal StateState Management
https://github.com/streamich/react-use

useIdle

import { useIdle } from "react-use";
SensorBrowser-APIUI
https://github.com/mweststrate/use-immer

useImmer

import { useImmer } from "use-immer";
State Management
https://github.com/mweststrate/use-immer

useImmerReducer

import { useImmerReducer } from "use-immer";
State Management
https://github.com/facebook/react

useImperativeMethods

import { useImperativeMethods } from "react";
React Core
https://github.com/kitze/react-hanger

useInput

import { useInput } from "react-hanger";
State Management
https://github.com/rehooks/input-value

useInputValue

import useInputValue from "@rehooks/input-value";
State Management
https://github.com/kalcifer/react-powerhooks

useInterval

import { useInterval } from "react-powerhooks";
Timing
https://github.com/haldarmahesh/use-key-hook

useKey

import useKey from "use-key-hook";
Browser-APIDevices
https://github.com/facebook/react

useLayoutEffect

import { useLayoutEffect } from "react";
React Core
https://github.com/kitze/react-hanger

useLifecycleHooks

import { useLifecycleHooks } from "react-hanger";
https://github.com/streamich/react-use

useLifecycles

import { useLifecycles } from "react-use";
Lifecycles
https://github.com/streamich/react-use

useList

import { useList } from "react-use";
State
https://github.com/rehooks/local-storage

useLocalStorage

import useLocalStorage from "@rehooks/local-storage";
https://github.com/streamich/react-use

useLocation

import { useLocation } from "react-use";
SensorBrowser-APILocation
https://github.com/streamich/react-use

useLogger

import { useLogger } from "react-use";
Lifecycles
https://github.com/streamich/react-use

useMap

import { useMap } from "react-use";
State
https://github.com/streamich/react-use

useMedia

import { useMedia } from "react-use";
SensorBrowser-APIMedia-QueryCSS
https://github.com/palmerhq/the-platform

useMedia

import useMedia from "the-platform";
https://github.com/streamich/react-use

useMediaDevices

import { useMediaDevices } from "react-use";
SensorBrowser-APIDevices
https://github.com/chasestarr/react-memento

useMemento

import { useMemento } from "react-memento"
State ManagementDebuggingTime Travel
https://github.com/facebook/react

useMemo

import { useMemo } from "react";
React Core
https://github.com/haldarmahesh/use-mobile-detect-hook.git

useMobileDetect

import useMobileDetect from 'use-mobile-detect-hook
Browser-APIDevices
https://github.com/streamich/react-use

useMotion

import { useMotion } from "react-use";
SensorBrowser-APIMotion
https://github.com/streamich/react-use

useMount

import { useMount } from "react-use";
Lifecycles
https://github.com/facebook/react

useMutationEffect

import { useMutationEffect } from "react";
React Core
https://github.com/streamich/react-use

useNetwork

import { useNetwork } from "react-use";
SensorBrowser-APINetwork
https://github.com/palmerhq/the-platform

useNetworkStatus

import useNetworkStatus from "the-platform";
Network
https://github.com/rehooks/network-status

useNetworkStatus

import useNetworkStatus from "@rehooks/network-status";
Network
https://github.com/kitze/react-hanger

useNumber

import { useNumber } from "react-hanger";
State Management
https://github.com/thers/use-object-state

useObjectState

import { useObjectState } from "use-object-state"
State Management
https://github.com/mobxjs/mobx-react-lite

useObservable

import { useObservable } from 'mobx-react-lite
Local StateState Management
https://github.com/Andarist/use-onclickoutside

useOnClickOutside

import useOnClickOutside from "use-onclickoutside";
SensorClickUIMouseTouch
https://github.com/kitze/react-hanger

useOnMount

import { useOnMount } from "react-hanger";
https://github.com/kitze/react-hanger

useOnUnmount

import { useOnUnmount } from "react-hanger";
https://github.com/rehooks/online-status

useOnlineStatus

import useOnlineStatus from "@rehooks/online-status";
Network
https://github.com/streamich/react-use

useOrientation

import { useOrientation } from "react-use";
SensorBrowser-APIOrientation
https://github.com/kitze/react-hanger

usePrevious

import { usePrevious } from "react-hanger";
State Management
https://github.com/Andarist/use-previous

usePrevious

import usePrevious from "use-previous";
https://github.com/streamich/react-use

useRaf

import { useRaf } from "react-use";
AnimationsrequestAnimationFrameRendering
https://github.com/facebook/react

useReducer

import { useReducer } from "react";
React CoreState Management
https://github.com/facebook/react

useRef

import { useRef } from "react";
React Core
https://github.com/palmerhq/the-platform

useScript

import useScript from "the-platform";
https://github.com/Purii/react-use-scrollspy

useScrollSpy

import useScrollSpy from 'react-use-scrollspy'
scrollspyuiscrollwindownavigation
https://github.com/kitze/react-hanger

useSetState

import { useSetState } from "react-hanger";
State Management
https://github.com/streamich/react-use

useSetState

import { useSetState } from "react-use";
State
https://github.com/streamich/react-use

useSize

import { useSize } from "react-use";
SensorUISize
https://github.com/streamich/react-use

useSpeech

import { useSpeech } from "react-use";
UIAudioSpeech
https://github.com/drcmda/react-spring

useSpring

import { useSpring } from "react-spring";
Animation
https://github.com/streamich/react-use

useSpring

import { useSpring } from "react-use";
AnimationsSpringTween
https://github.com/facebook/react

useState

import { useState } from "react";
React CoreState Management
https://github.com/kitze/react-hanger

useStateful

import { useStateful } from "react-hanger";
State Management
https://github.com/palmerhq/the-platform

useStylesheet

import useStylesheet from "the-platform";
https://github.com/philipp-spiess/use-substate

useSubstate

import { SubstateProvider, useSubstate } from "use-substate";
State Management
https://github.com/streamich/react-use

useTimeout

import { useTimeout } from "react-use";
AnimationsTimeout
https://github.com/amrlabib/react-timer-hook

useTimer

import useTimer  from 'react-timer-hook'
timercountdown
https://github.com/streamich/react-use

useTitle

import { useTitle } from "react-use";
Side-effectTitle
https://github.com/kalcifer/react-powerhooks

useToggle

import { useToggle } from "react-powerhooks";
State Management
https://github.com/streamich/react-use

useToggle

import { useToggle } from "react-use";
State
https://github.com/streamich/react-use

useTween

import { useTween } from "react-use";
AnimationsTween
https://github.com/streamich/react-use

useUnmount

import { useUnmount } from "react-use";
Lifecycles
https://github.com/f/react-wait

useWait

import { Waiter, useWait } from "react-wait"
LoadingWaitingLoader ManagementUI
https://github.com/palmerhq/the-platform

useWindowScrollPosition

import useWindowScrollPosition from "the-platform";
https://github.com/rehooks/window-scroll-position

useWindowScrollPosition

import useWindowScrollPosition from "@rehooks/window-scroll-position";
Layout
https://github.com/streamich/react-use

useWindowSize

import { useWindowSize } from "react-use";
SensorBrowser-APIUIWindowSize
https://github.com/rehooks/window-size

useWindowSize

import useWindowSize from "@rehooks/window-size";
Layout
https://github.com/palmerhq/the-platform

useWindowSize

import useWindowSize from "the-platform";
Layout