{"id":13400165,"url":"https://github.com/rehooks/awesome-react-hooks","last_synced_at":"2025-09-27T08:30:39.332Z","repository":{"id":40725275,"uuid":"154740303","full_name":"rehooks/awesome-react-hooks","owner":"rehooks","description":"Awesome React Hooks","archived":false,"fork":false,"pushed_at":"2023-07-27T06:40:08.000Z","size":291,"stargazers_count":10121,"open_issues_count":8,"forks_count":773,"subscribers_count":160,"default_branch":"master","last_synced_at":"2025-09-12T21:38:37.952Z","etag":null,"topics":["awesome","awesome-list","hooks","react","react-hooks"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rehooks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-10-25T21:31:44.000Z","updated_at":"2025-09-11T21:10:48.000Z","dependencies_parsed_at":"2024-01-10T19:12:06.117Z","dependency_job_id":null,"html_url":"https://github.com/rehooks/awesome-react-hooks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rehooks/awesome-react-hooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rehooks%2Fawesome-react-hooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rehooks%2Fawesome-react-hooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rehooks%2Fawesome-react-hooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rehooks%2Fawesome-react-hooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rehooks","download_url":"https://codeload.github.com/rehooks/awesome-react-hooks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rehooks%2Fawesome-react-hooks/sbom","scorecard":{"id":769232,"data":{"date":"2025-08-18","repo":{"name":"github.com/rehooks/awesome-react-hooks","commit":"33424d3e810c864ca69e379b74d195094b08a8e3"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":4.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Creative Commons Zero v1.0 Universal: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T01:46:31.693Z","repository_id":40725275,"created_at":"2025-08-23T01:46:31.693Z","updated_at":"2025-08-23T01:46:31.693Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275926349,"owners_count":25553970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","hooks","react","react-hooks"],"created_at":"2024-07-30T19:00:49.158Z","updated_at":"2025-09-27T08:30:39.289Z","avatar_url":"https://github.com/rehooks.png","language":null,"readme":"# awesome-react-hooks [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e Awesome React Hooks Resources\n\n## Documentation\n\n- [React Hooks Docs](https://reactjs.org/docs/hooks-intro.html)\n\n## Discussions\n\n- [React Hooks RFC](https://github.com/reactjs/rfcs/pull/68)\n\n## Tutorials\n\n- [\"Making Sense of React Hooks\" by Dan Abramov](https://medium.com/@dan_abramov/making-sense-of-react-hooks-fdbde8803889)\n- [\"From React.Component to hooks\" by Octave Raimbault](https://medium.com/@dispix/from-react-component-to-hooks-b50241334365)\n- [\"React Hooks: What’s going to happen to my tests?\" by Kent C. Dodds](https://blog.kentcdodds.com/react-hooks-whats-going-to-happen-to-my-tests-df4c2b4d67b7)\n- [\"State Management with React Hooks - No Redux or Context API\" by André Gardi](https://medium.com/javascript-in-plain-english/state-management-with-react-hooks-no-redux-or-context-api-8b3035ceecf8)\n- [\"How to Fetch Data with React Hooks?\" by Robin Wieruch](https://www.robinwieruch.de/react-hooks-fetch-data/)\n- [Primer on React Hooks](https://testdriven.io/blog/react-hooks-primer/)\n- [React Hooks - A deeper dive featuring useContext and useReducer](https://testdriven.io/blog/react-hooks-advanced/)\n- [\"Using Custom React Hooks to Simplify Forms\" by James King](https://upmostly.com/tutorials/using-custom-react-hooks-simplify-forms)\n- [Testing of a Custom React Hook for Fetching Data with Axios](https://dev.to/doppelmutzi/testing-of-a-custom-react-hook-for-fetching-data-with-axios-4gf1)\n- [The Guide to Learning React Hooks (Examples \u0026 Tutorials) by Eric Bishard](https://www.telerik.com/kendo-react-ui/react-hooks-guide/)\n- [\"Sanely Testing React Hooks\" by Dave Cooper](https://dev.to/grug/sanely-testing-react-hooks-2l1j)\n- [React by Example: Hooks](https://reactbyexample.github.io/hooks)\n\n## Videos\n\n- [🎬 ReactConf 2018: React Today and Tomorrow by Sophie Alpert and Dan Abramov](https://youtu.be/V-QO-KO90iQ) Official announcement and first demo.\n- [🎬 ReactConf 2018: 90% Cleaner React by Ryan Florence](https://youtu.be/wXLf18DsV-I)\n- [🎬 React Hooks: A Complete Introduction by Harry Wolff](https://youtu.be/jd8R0a2Ur8Q)\n- [🎬 React Hooks playlist by Ben Awad](https://www.youtube.com/playlist?list=PLN3n1USn4xllL1OrVr-A4oq7SG-cS9MOQ)\n- [🎬 React Hooks playlist by Josh Ribakoff](https://www.youtube.com/playlist?list=PLj2oFNVaxfJ-AcPo191jz09g-v9CLRfCg)\n- [🎬 React Hooks playlist by Michael Chan](https://www.youtube.com/playlist?list=PLnc_NxpmOxaNf_mTUx1BgoP5POXwSAu-g)\n- [🎬 Custom Hooks in React by Tanner Linsley](https://www.youtube.com/watch?v=J-g9ZJha8FE)\n\n## Podcasts\n\n- [React Hooks - Syntax (Nov 14th, 2018)](https://syntax.fm/show/092/react-hooks)\n- [React Hooks 1 Year Later - Syntax (Mar 18, 2020)](https://syntax.fm/show/232/react-hooks-1-year-later)\n- [Why should I use React Hooks? - Syntax (Dec 7th, 2020)](https://syntax.fm/show/307/hasty-treat-why-should-i-use-react-hooks)\n\n## Tools\n\n- [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks)\n- [`hooks.macro`](https://www.npmjs.com/package/hooks.macro) Babel Macros for automatic memoization invalidation\n- [CodeSandbox Starter Kit](https://codesandbox.io/s/7y6o4282lq)\n- [React Hooks Snippets for VS Code](https://marketplace.visualstudio.com/items?itemName=antmdvs.vscode-react-hooks-snippets)\n- [`hook-into-props`](https://github.com/juliettepretot/hook-into-props/tree/1e069a6c01c2a783100f2fea7709f56d8166a97e) Helper to build HOCs using hooks. Useful for using hooks with class components.\n- [`react-universal-hooks`](https://github.com/salvoravida/react-universal-hooks) React Universal Hooks: just use****** everywhere, Functional or Class Components\n- [Jooks](https://github.com/antoinejaussoin/jooks) Unit-test your custom hooks by mocking React's Hooks API (useState, etc.)\n- [`react-hooks-testing-library`](https://react-hooks-testing-library.com/) Library to create unit tests for custom React hooks.\n\n## Catalogs\n\n- [@react-hookz/web](https://github.com/react-hookz/web) - A library of general-purpose React hooks built with care and SSR compatibility in mind.\n- [ahooks](https://github.com/alibaba/hooks) A collection of React Hooks specifically aiming at enterprise applications.\n- [beautiful-react-hooks(🔥)](https://beautifulinteractions.github.io/beautiful-react-hooks/) A collection of hooks to speed-up your components and custom hooks development.\n- [Captain hook](https://github.com/stevenpersia/captain-hook) Modest list of hooks.\n- [crooks](https://github.com/chrisjpatty/crooks) A collection of unique React Hooks.\n- [hooks-by-example](https://github.com/latviancoder/hooks-by-example) Collection of beginner-friendly real world examples of hook usage.\n- [Hooks.guide](https://hooks-guide.netlify.app/) Collection of React hooks curated by the community.\n- [react-recipes](https://github.com/craig1123/react-recipes) 👩‍🍳 Collection of essential hook recipes 🥘\n- [Searchable Collection of React Hooks](https://nikgraf.github.io/react-hooks/)\n- [Sunflower(🌻)](https://github.com/ant-design/sunflower) Collection of React Hooks returning components of antd.\n- [useHooks(🐠)](https://usehooks.com/) One new React Hook recipe every day.\n- [Use Hooks](https://use-hooks.org/) A collection of reusable React Hooks.\n\n## Packages\n\n- [`@21kb/react-hooks`](https://github.com/21kb/react-hooks) A set of React Hooks to get _hooked_ on.\n- [`@d2k/react-devto`](https://github.com/bdbch/react-devto) React hook for Dev.to API requests\n- [`@d2k/react-github`](https://github.com/bdbch/react-github) React hook for Github API requests\n- [`@d2k/react-localstorage`](https://github.com/bdbch/react-localstorage) React hook that handles updating and clearing localstorage values while keeping them in sync with your components.\n- [`@elgorditosalsero/react-gtm-hook`](https://github.com/elgorditosalsero/react-gtm-hook) React hook for handle easily the Google Tag Manager.\n- [`@hookstate/core`](https://github.com/avkonst/hookstate) Modern, very fast and extendable state management for React.\n- [`@jzone/react-request-hook`](https://github.com/zhixiaoqiang/react-request-hook) 🐶React hook for custom request，compatible with various lib, support redux\n- [`@kevinwolf/formal`](https://github.com/kevinwolfcr/formal) Elegant form management primitives for the react hooks era.\n- [`@koale/useworker`](https://github.com/alewin/useWorker) ⚙️ Running heavy task in background using web workers, without blocking the UI\n- [`@marvelsq/use-properties-hook`](https://github.com/MarvelSQ/use-properties-hook) Instance functions inside FunctionComponent like `class-properties` and equal in `ShallowCompare`\n- [`@rehooks/component-size`](https://github.com/rehooks/component-size) React hook for determining the size of a component.\n- [`@rehooks/document-title`](https://github.com/rehooks/document-title) React hook for updating the document-title.\n- [`@rehooks/document-visibility`](https://github.com/rehooks/document-visibility) React hook for subscribing to document visibility.\n- [`@rehooks/input-value`](https://github.com/rehooks/input-value) React hook for creating input values.\n- [`@rehooks/local-storage`](https://github.com/rehooks/local-storage) React hook which syncs `localStorage[key]` with the comp.\n- [`@rehooks/network-status`](https://github.com/rehooks/network-status) React hook for getting network-status.\n- [`@rehooks/online-status`](https://github.com/rehooks/online-status) React Hook for Online status.\n- [`@rehooks/window-scroll-position`](https://github.com/rehooks/window-scroll-position) React hook for getting window `x` and `y` position.\n- [`@rehooks/window-size`](https://github.com/rehooks/window-size) React hook for subscribing to window size.\n- [`@rekindle/use-request`](https://github.com/react-rekindle/use-request) 🤖 React hook for making request.\n- [`@rkrupinski/use-state-machine`](https://github.com/rkrupinski/use-state-machine) A finite state machine hook.\n- [`@staltz/use-profunctor-state`](https://github.com/staltz/use-profunctor-state) React Hook for state management with Profunctor Optics\n- [`@webscopeio/react-health-check`](https://github.com/webscopeio/react-health-check) 🏥 Lightweight React hook for checking health of API services.\n- [`@wellyshen/use-web-animations`](https://github.com/wellyshen/use-web-animations) 🍿 React hook for highly-performant and manipulable animations using Web Animations API.\n- [`@withvoid/melting-pot`](https://github.com/withvoid/melting-pot) React hook utility library.\n- [`ahooks/usetable`](https://github.com/ahooksjs/useTable) A Progressive Solution for Query Table Scene.\n- [`concent`](https://github.com/concentjs/concent) State management that tailored for react, it is simple, predictable, progressive and efficient.\n- [`constate`](https://github.com/diegohaz/constate) Transform your local state into global state using `useContextState` and `useContextReducer`.\n- [`conuse`](https://github.com/fodau/conuse) Share Hook with Context\n- [`easy-peasy`](https://github.com/ctrlplusb/easy-peasy) Easy peasy global state for React.\n- [`fetch-suspense`](https://github.com/CharlesStover/fetch-suspense) React hook for the Fetch API with support for Suspense.\n- [`graphql-hooks`](https://github.com/nearform/graphql-hooks) Minimal hooks-first GraphQL client.\n- [`mobx-react-lite`](https://github.com/mobxjs/mobx-react-lite) Lightweight React bindings for MobX based on experimental React hooks.\n- [`modali`](https://github.com/upmostly/modali) A delightful modal dialog component for React, built from the ground up to support React Hooks.\n- [`moment-hooks`](https://github.com/momentechnologies/moment-hooks) A library containing generic react hooks\n- [`nice-hooks`](https://github.com/daniel-dx/nice-hooks) 🍹 A lot of nice hooks to make react hooks easier to use ( useState callback / life cycle / instance variable)\n- [`promise-hook`](https://github.com/aiven715/promise-hook) React hook for simplifying Promise based data fetching.\n- [`reactive-react-redux`](https://github.com/dai-shi/reactive-react-redux) React Redux binding with React Hooks and Proxy\n- [`react-async-hook`](https://github.com/slorber/react-async-hook) React hook to fetch ad-hoc data into your React components.\n- [`react-cached-callback`](https://github.com/megazazik/react-cached-callback) React hooks for caching many callbacks by key, for example, in loops.\n- [`react-context-refs`](https://github.com/megazazik/react-context-refs) React hooks for getting refs of elements via context.\n- [`react-cookie`](https://github.com/reactivestack/cookies) React hooks for universal cookies.\n- [`react-cool-dimensions`](https://github.com/wellyshen/react-cool-dimensions) 📏 React hook to measure an element's size and handle responsive components.\n- [`react-cool-form`](https://github.com/wellyshen/react-cool-form) 📋 React hooks for forms state and validation, less code more performant.\n- [`react-cool-inview`](https://github.com/wellyshen/react-cool-onclickoutside) 🖥️ React hook to monitor an element enters or leaves the viewport (or another element).\n- [`react-cool-onclickoutside`](https://github.com/wellyshen/react-cool-onclickoutside) 🖱 React hook to listen for clicks outside of the component(s).\n- [`react-cool-portal`](https://github.com/wellyshen/react-cool-portal) 🍒 React hook for Portals, which renders modals, dropdowns, tooltips etc. to \u003cbody\u003e or else.\n- [`react-cool-virtual`](https://github.com/wellyshen/react-cool-virtual) ♻️ A tiny React hook for rendering large datasets like a breeze.\n- [`react-countdown-hook`](https://github.com/alexkhismatulin/react-use-count-down) Dead simple yet powerful countdown hook for React. Powered by `requestAnimationFrame`.\n- [`react-darkreader`](https://github.com/Turkyden/react-darkreader) 🌓 A React Hook for adding a dark / night mode to your site inspired by darkreader.\n- [`react-declare-form`](https://github.com/andy9775/react-declare-form) React hook based declarative form library.\n- [`react-deep-hooks`](https://github.com/codeshake/react-deep-hooks) React hooks for non-primitive dependencies.\n- [`react-dom-status-hook`](https://github.com/yeskunall/react-dom-status-hook) React hook for subscribing to the `DOMContentLoaded` event.\n- [`react-enhanced-reducer-hook`](https://github.com/shiningjason/react-enhanced-reducer-hook) An alternative to `useReducer` that accepts middlewares.\n- [`react-fetch-hook`](https://github.com/ilyalesik/react-fetch-hook) React hook for conveniently use Fetch API.\n- [`react-firebase-hooks`](https://github.com/csfrequency/react-firebase-hooks) A collection of hooks for use with [Firebase](https://firebase.google.com).\n- [`react-form-stateful`](https://github.com/ckedwards/react-form-stateful) Form library. Exposes dispatch to allow for the library to be extended through side effects.\n- [`react-hanger`](https://github.com/kitze/react-hanger) A small collection of utility hooks.\n- [`react-hook-mighty-mouse`](https://github.com/mkosir/react-hook-mighty-mouse) React hook that tracks mouse events on selected element 🐭\n- [`react-hook-mousetrap`](https://www.npmjs.com/package/react-hook-mousetrap) A hook to trigger callbacks on keys or keys combos, powered by mousetrap.\n- [`react-hookedup`](https://github.com/zakariaharti/react-hookedup) A collection of useful React hooks.\n- [`react-hook-form`](https://github.com/bluebill1049/react-hook-form) Form validation without the hassle.\n- [`react-hook-layout`](https://github.com/ytiurin/react-hook-layout) Layout management in React.\n- [`react-hooks-async`](https://github.com/dai-shi/react-hooks-async) React custom hooks for async functions with abortability and composability\n- [`react-hooks-global-state`](https://github.com/dai-shi/react-hooks-global-state) A simple global state management.\n- [`react-hooks-image-size`](https://github.com/use-hooks/react-hooks-image-size) Hook to get natural image size from url.\n- [`react-hooks-lib`](https://github.com/beizhedenglong/react-hooks-lib) A set of reusable react hooks.\n- [`react-hooks-svgdrawing`](https://github.com/kmkzt/react-hooks-svgdrawing) A hooks to svg drawing.\n- [`react-hooks-use-modal`](https://github.com/shibe97/react-hooks-use-modal) A hook to open the modal easily.\n- [`react-hooks-visible`](https://github.com/kmkzt/react-hooks-visible) A hook to element visibility. Uses the intersection observer API.\n- [`react-hooks-worker`](https://github.com/dai-shi/react-hooks-worker) React custom hooks for web workers\n- [`react-hotkey-hook`](https://github.com/JohannesKlauss/react-hotkeys-hook) React hook for hotkeys.\n- [`react-i18next`](https://react.i18next.com/latest/usetranslation-hook) Internationalization for react done right.\n- [`react-immer-hooks`](https://github.com/sin/react-immer-hooks) useState and useReducer using Immer to update state.\n- [`react-indicative-hooks`](https://github.com/marceloadsj/react-indicative-hooks) Hooks wrapping a data validation library called [Indicative](http://indicative.adonisjs.com)\n- [`react-intersection-visible-hook`](https://github.com/AvraamMavridis/react-intersection-visible-hook) React hook to track the visibility of a functional component.\n- [`react-media-hook`](https://github.com/lessmess-agency/react-media-hook) React hook for Media Queries.\n- [`react-metatags-hook`](https://github.com/lordgiotto/react-metatags-hook) React Hook to manage html meta tags.\n- [`react-native-react-bridge`](https://github.com/inokawa/react-native-react-bridge) A React Native plugin to run React and handle communication between them.\n- [`react-optimistic-ui-hook`](https://github.com/mamal72/react-optimistic-ui-hook) ⚛️ Minimal \"optimistic UI\" pattern implementation with a React hook\n- [`react-page-name`](https://github.com/RyanFitzgerald/react-page-name) React Hook for managing the page title.\n- [`react-peer-data`](https://github.com/vardius/react-peer-data) React wrapper for PeerData library for files, media streaming/sharing using WebRTC.\n- [`react-pirate`](https://github.com/dispix/react-pirate) React lifecycle and utilities hooks.\n- [`react-powerhooks`](https://github.com/kalcifer/react-powerhooks) Hooks api for react-powerplug components.\n- [`react-promiseful`](https://github.com/moxystudio/react-promiseful) A React component and hook to render children conditionally based on a promise status.\n- [`react-query`](https://github.com/tannerlinsley/react-query) Hooks for fetching, caching and updating asynchronous data in React.\n- [`react-recaptcha-hook`](https://github.com/hupe1980/react-recaptcha-hook) React hook for google-recaptcha v3\n- [`react-recipes`](https://github.com/craig1123/react-recipes) 👩‍🍳 Collection of essential hook recipes 🥘\n- [`react-request-hook`](https://github.com/schettino/react-request-hook) Managed, cancelable and safe-oriented api requests.\n- [`react-responsive`](https://github.com/contra/react-responsive) React media query module.\n- [`react-rocketjump`](https://github.com/inmagik/react-rocketjump) Manage state and side effects like a breeze.\n- [`react-screen-wake-lock`](https://github.com/jorisre/react-screen-wake-lock) React implementation of the Screen Wake Lock API. It provides a way to prevent devices from dimming or locking the screen when an application needs to keep running\n- [`react-script-hook`](https://github.com/hupe1980/react-script-hook) React hook to dynamically load an external script and know when its loaded\n- [`react-selector-hooks`](https://github.com/Andarist/react-selector-hooks) Collection of hook-based memoized selector factories for declarations outside of render.\n- [`react-speech-kit`](https://github.com/MikeyParton/react-speech-kit) Hooks for browser Speech Recognition and Speech Synthesis.\n- [`react-state-patterns`](https://github.com/mcclayton/react-state-patterns) Utility package for creating reusable implementations of React state provider patterns from hooks.\n- [`react-swipeable`](https://github.com/dogfessional/react-swipeable) React swipe event handler hook.\n- [`react-tracked`](https://github.com/dai-shi/react-tracked) Simple and fast global state with React Context. Eliminate unnecessary re-renders without hassle.\n- [`react-uniformed`](https://github.com/j-a-y-h/react-uniformed) 🚀 Declarative React forms using hooks.\n- [`react-use-api`](https://github.com/RyanRoll/react-use-api) Async HTTP request data for axios. Designed for diverse UI states, SSR and data pre-caching.\n- [`react-use-browser`](https://github.com/crossroads-loyalty-solutions/react-use-browser) A hook enabling client side hydration of Server-Side-Rendered components when server-produced markup needs to differ from the final client application markup.\n- [`react-use-calendar`](https://github.com/gregnb/react-use-calendar) A hook for implementing a calendar with events.\n- [`react-use-clipboard`](https://github.com/danoc/react-use-clipboard) A hook that copies text to a user's clipboard.\n- [`react-use-d3`](https://github.com/inokawa/react-use-d3) A React hook to use D3.\n- [`react-use-data-loader`](https://github.com/smmoosavi/react-use-data-loader) React hook for loading data\n- [`react-use-fetch-factory`](https://github.com/JohannesKlauss/react-use-fetch-factory) React hook that takes care of fetching and selecting data with redux.\n- [`react-use-fetch-with-redux`](https://github.com/grug/react-use-fetch-with-redux/) React hook that caches API requests that works with redux.\n- [`react-use-form-state`](https://github.com/wsmd/react-use-form-state) React hook for managing form and inputs state.\n- [`react-use-id-hook`](https://github.com/Yaska/react-use-id-hook) React hook for generating SSR-safe unique id strings.\n- [`react-use-idb`](https://github.com/kigiri/react-use-idb) React hook for storing value in the browser using `indexDB`.\n- [`react-use-infinite-loader`](https://github.com/CurationCorp/react-use-infinite-loader) :infinity: :page_with_curl: :hourglass_flowing_sand: Super lightweight infinite loading (scroll) hook for React apps\n- [`react-use-input`](https://github.com/robcalcroft/react-use-input) 🎣 A hook whose setter can be directly given to HTML inputs\n- [`react-use-lazy-load-image`](https://github.com/robcalcroft/react-use-lazy-load-image) :sunrise: :zap: Add image lazy loading to your React app with ease\n- [`react-use-message-bar`](https://github.com/intercaetera/react-use-message-bar) A simple React hook for message bars.\n- [`react-use-modal`](https://github.com/wowlusitong/react-use-modal) React hook for manage modal.\n- [`react-use-path`](https://github.com/zhangkaiyulw/react-use-path) The tiniest hook style react router.\n- [`react-use-scroll-position`](https://github.com/neo/react-use-scroll-position) React hook for using the scroll position.\n- [`react-use-trigger`](https://github.com/ilyalesik/react-use-trigger) React hook for trigger effect from any place of code\n- [`react-use-watch`](https://github.com/iam-frankqiu/react-use-watch) A React hook about triggers once only when dependencies have changed.\n- [`react-use-wavelet`](https://github.com/perlin-network/react-use-wavelet) React hooks for connecting to the Wavelet smart-contract platform\n- [`react-use`](https://github.com/streamich/react-use) Collection of essential hooks.\n- [`react-useFormless`](https://github.com/GeDiez/react-use-formless) React hook to handle forms state.\n- [`react-usemiddleware`](https://github.com/venil7/react-usemiddleware) React hook for using existing Redux middlewares (like thunk or saga) with `useReducer`.\n- [`react-useportal`](https://github.com/alex-cory/react-useportal) 🌀 usePortal, React hook for Portals\n- [`react-user-media`](https://github.com/vardius/react-user-media) React wrapper for `navigator.getUserMedia`.\n- [`react-wait`](https://github.com/f/react-wait) Complex Loader Management Hook for React Applications.\n- [`react-window-communication-hook`](https://github.com/AvraamMavridis/react-window-communication-hook) React hook to communicate among browser contexts (tabs, windows, iframes).\n- [`react-with-hooks`](https://github.com/yesmeck/react-with-hooks) Ponyfill for the proposed React Hooks API.\n- [`reaktion`](https://github.com/mfrachet/reaktion) useState like hook for global state management.\n- [`redhooks`](https://github.com/iusehooks/redhooks) Global state management with React Hooks. It also supports the use of middleware like redux-thunk or redux-saga or your own custom middleware.\n- [`redux-react-hook`](https://github.com/ianobermiller/redux-react-hook) React hook for accessing mapped state from a Redux store.\n- [`region-core`](https://github.com/regionjs/region-core) A global state management framework with a hook `useProps`.\n- [`rehooks-visibility-sensor`](https://github.com/imbhargav5/rehooks-visibility-sensor) It checks whether an element has scrolled into view or not.\n- [`resynced`](https://github.com/pedronasser/resynced) Multiple state management using React Hooks API.\n- [`reto`](https://awmleer.github.io/reto) Flexible and efficient React store with hooks.\n- [`rrh`](https://github.com/brn/rrh) Super Simple React Hooks for react-redux.\n- [`rxjs-hooks`](https://github.com/LeetCode-OpenSource/rxjs-hooks) An easy way to use RxJS v6+ with react hooks.\n- [`scroll-data-hook`](https://github.com/dejorrit/scroll-data-hook) Returns information about scroll speed, distance, direction and more.\n- [`style-hook`](https://github.com/style-hook/style-hook) 🎨 wirte css in js with react hooks.\n- [`swr`](https://github.com/zeit/swr) React Hooks library for remote data fetching.\n- [`the-platform`](https://github.com/palmerhq/the-platform) Browser API's turned into React Hooks and Suspense-friendly React elements for common situations.\n- [`trousers`](https://github.com/danieldelcore/trousers) 👖 A hooks-first CSS-in-JS library, focused on semantics and runtime performance\n- [`use-abortable-fetch`](https://github.com/mauricedb/use-abortable-fetch) React hook that does a fetch and aborts when the components is unloaded or a different request is made.\n- [`use-action`](https://github.com/awmleer/use-action) Almost same to useEffect, but not deferred.\n- [`use-as-bind`](https://github.com/tylervipond/use-as-bind) React hook for using as-bind with a WASM source.\n- [`use-async-memo`](https://github.com/awmleer/use-async-memo) React hook for generating async memoized data.\n- [`use-autocomplete`](https://github.com/lowewenzel/use-autocomplete) A React hook for returning autocomplete values for a search string within an array.\n- [`use-axios-react`](https://github.com/sergey-s/use-axios-react) React CRUD hooks for axios, comprehensive list of examples\n- [`use-boolean`](https://github.com/mykolaharmash/use-boolean) Convenient helpers for handling boolean state.\n- [`use-browser-history`](https://github.com/zcallan/use-browser-history) A React hook to handle browser history events.\n- [`use-cart`](https://github.com/samjbmason/use-cart) A React hook that gives you shopping cart functionality.\n- [`use-click-away`](https://github.com/geobde/use-click-away) React hook when you want a callback invoked when a DOM element was not clicked.\n- [`use-clippy`](https://github.com/CharlesStover/use-clippy) A React hook to reading from and writing to the user's clipboard.\n- [`use-context-selector`](https://github.com/dai-shi/use-context-selector) React useContextSelector hook in userland.\n- [`use-controlled-input-number`](https://github.com/d-asensio/use-controlled-input-number) React hook to turn numeric input behavior into pretty much what you expect.\n- [`use-countries`](https://github.com/oktaysenkan/use-countries) Custom react hook to list countries and languages.\n- [`use-debounce`](https://github.com/xnimorz/use-debounce) A debounce (and throttle) hook for React.\n- [`use-deep-compare`](https://github.com/sandiiarov/use-deep-compare) It's react's useEffect/useMemo/useCallback hooks, except using deep comparison on the inputs.\n- [`use-deep-compare-effect`](https://github.com/kentcdodds/use-deep-compare-effect) 🐋 It's react's useEffect hook, except using deep comparison on the inputs, not reference equality.\n- [`use-detect-print`](https://github.com/gregnb/use-detect-print) React hook to detect when a page is being printed.\n- [`use-dimensions`](https://github.com/CharlesStover/use-dimensions) React Native hook for getting screen and window dimensions.\n- [`use-double-click`](https://github.com/zattoo/use-double-click) React hook for continuous double-clicks and combining click and double-click events\n- [`use-eazy-auth`](https://github.com/gffuma/use-eazy-auth) React hooks for handle auth stuff.\n- [`use-events`](https://github.com/sandiiarov/use-events) A set of React Hooks to handle mouse events.\n- [`use-force-update`](https://github.com/CharlesStover/use-force-update) React hook for forcing re-render of a functional Component.\n- [`use-hotkeys`](https://github.com/sandiiarov/use-hotkeys) HotKeys.js React Hook that listen to keydown and keyup keyboard events, defining and dispatching keyboard shortcuts.\n- [`use-hovering`](https://github.com/therealparmesh/use-hovering) Simple, accessible React hook for tracking hover state.\n- [`use-http`](https://github.com/alex-cory/use-http) 🐶 useFetch, React hook for making isomorphic http requests.\n- [`use-immer`](https://github.com/mweststrate/use-immer) A hook to use [immer](https://github.com/mweststrate/immer) to manipulate state.\n- [`use-input-file`](https://github.com/neighborhood999/use-input-file) React hook for creating input file.\n- [`use-is-mounted-ref`](https://github.com/helderburato/use-is-mounted-ref) `useIsMountedRef` is a React Hook to check when the component is mounted.\n- [`use-lang-direction`](https://github.com/davidicus/use-lang-direction) A hook that reads the HTML element's `dir` attribute value and any updates to that value allowing you to update your UI accordingly.\n- [`use-last-fm`](https://github.com/webmail/use-last-fm) A hook to show your current playing song from **Spotify** or any other site [last.fm](https://last.fm) supports in realtime. ♪\n- [`use-lilius`](https://github.com/its-danny/use-lilius) A headless calendar hook for React.\n- [`use-media`](https://github.com/streamich/use-media) CSS media queries with React hook.\n- [`use-mouse-action`](https://github.com/dimitrinicolas/use-mouse-action) React Hooks to listen to both mouse down or up and click events with a once called function.\n- [`use-multiselect`](https://github.com/jschloer/use-multiselect) Manage multiselect state.\n- [`use-overflow`](https://github.com/amorriscode/use-overflow) A React Hook that allows you to detect X and Y overflow\n- [`use-places-autocomplete`](https://github.com/wellyshen/use-places-autocomplete) 📍 React hook for Google Maps Places Autocomplete.\n- [`use-popper`](https://github.com/sandiiarov/use-popper) React hook wrapper around Popper.js.\n- [`use-query-params`](https://github.com/pbeshai/use-query-params) A React Hook for managing state in URL query parameters with easy serialization.\n- [`use-react-modal`](https://github.com/alex-cory/use-react-modal) 🖼 useModal, React hook for Modals/Dialogs/Lightboxes\n- [`use-react-router`](https://github.com/CharlesStover/use-react-router) React Hook for pub-sub behavior using React Router.\n- [`use-reactive-state`](https://github.com/tedstoychev/use-reactive-state) `useReactiveState()` - a reactive alternative to React's `useState()`.\n- [`use-reducer-async`](https://github.com/dai-shi/use-reducer-async) React useReducer with async actions\n- [`use-redux`](https://github.com/flepretre/use-redux) A hook to bind [redux](https://redux.js.org).\n- [`use-scroller`](https://github.com/geobde/use-scroller) React hook that automatically adds the next page, saving users from a full page load.\n- [`use-scroll-to-bottom`](https://github.com/tudorgergely/use-scroll-to-bottom) React hook for detecting when an element was scrolled to bottom.\n- [`use-simple-undo`](https://github.com/sandiiarov/use-simple-undo) Simple implementation of undo/redo functionality.\n- [`server-push-hooks`](https://github.com/mfrachet/server-push-hooks) 🔥 React hooks for [socket.io](https://socket.io), [SEE](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) and more to come\n- [`use-socket.io-client`](https://github.com/iamgyz/use-socket.io-client) React hook for socket.io-client, manipulate [socket.io](https://socket.io) client without any side effect.\n- [`use-sse`](https://github.com/kmoskwiak/useSSE) ✨useSSE - use Server-Side Effect. `useEffect` both on client and server side.\n- [`use-ssr`](https://github.com/alex-cory/use-ssr) ☯️ React hook to determine if you are on the server, browser, or react native.\n- [`use-state-snapshots`](https://github.com/haydn/use-state-snapshots) A React hook to keep track of state changes for undo/redo functionality.\n- [`use-substate`](https://github.com/philipp-spiess/use-substate) React hook for subscribing to your single app state (works with your current [Redux](https://redux.js.org/) app).\n- [`use-suspender`](https://github.com/octet-stream/use-suspender) Execute asynchronous actions with [`React.Suspense`](https://reactjs.org/docs/react-api.html#reactsuspense)\n- [`use-t`](https://github.com/streamich/use-t) Multi-language using hooks.\n- [`use-undo`](https://github.com/xxhomey19/use-undo) React hook to implement Undo and Redo functionality.\n- [`use-videocard`](https://github.com/BRA1L0R/use-videocard) React hook to fetch the graphics card information of the client using canvas\n- [`use-window-blur-change-title`](https://github.com/cyntler/use-window-blur-change-title) React Hook for set the page title when the user is shifting focus away from the current window.\n- [`useDarkMode`](https://github.com/donavon/use-dark-mode) A custom React Hook to help you implement a \"dark mode\" component.\n- [`useDeferredState`](https://github.com/phytonmk/useDeferredState) A React hook for deferring state change. That's essential when your UI needs to wait for disappearing animation is complete to unmount component.\n- [`useDropZone`](https://github.com/sbaidon/useDropZone) React hook that allows you to set simple drag and drop functionality.\n- [`useEmailAutocomplete`](https://github.com/alex-cory/use-email-autocomplete) 📬 React hook for email autocomplete inputs.\n- [`useFileDialog`](https://github.com/omidnikrah/use-file-dialog) Open file dialog without struggling with file input using useFileDialog react hook\n- [`useInView`](https://github.com/thebuilder/react-intersection-observer) React implementation of the Intersection Observer API to tell you when an element enters or leaves the viewport.\n- [`useIsTyping`](https://github.com/KATT/use-is-typing) Hook to see if the user is typing within a textarea or input\n- [`useKeyCapture`](https://github.com/pranesh239/use-key-capture) ⌨️ A simple hook to make keyDown listening event easier.\n- [`usePosition`](https://github.com/tranbathanhtung/usePosition) React hook to get position top left of an element.\n- [`useReducerWithEffects`](https://github.com/frankiesardo/use-reducer-with-effects) React Hook that colocates reducer and side effects\n- [`useReducerWithLocalStorage`](https://github.com/Tweries/useReducerWithLocalStorage) React hook that adds local storage support to the `useReducer` hook\n- [`useScreenType`](https://github.com/pankod/react-hooks-screen-type) Determining screen size type for Bootstrap 4 grid.\n- [`useScreenType`](https://github.com/wednesday-solutions/react-screentype-hook) React hook to dynamically get current screen type (mobile, tablet, desktop) with configurable breakpoint support.\n- [`useScrollSpy`](https://github.com/Purii/react-use-scrollspy) React hook to automatically update navigation based on scroll position.\n- [`useServiceWorker`](https://github.com/JCofman/react-hook-use-service-worker) A React hook which can register a service worker\n- [`useValueAfter`](https://github.com/bboydflo/use-value-after) Very simple React hook to easily provide different props to a component (comes in handy for testing edge cases)\n- [`useWaitForElements`](https://github.com/renansoares/useWaitForElements) A simple hook to wait for elements to be rendered with MutationObserver.\n- [`useWindowOrientation`](https://github.com/tywmick/use-window-orientation) A hook returning the window's orientation (portrait vs. landscape) based off of current window dimensions\n- [`useWindowWidthBreakpoints`](https://github.com/tywmick/use-window-width-breakpoints) A hook for using (Bootstrap-inspired) window width breakpoints\n","funding_links":[],"categories":["Uncategorized","Others","HarmonyOS","Source","Collections","miscellaneous","前端开发框架及项目","Programming Language Lists","React Hooks","React","目录","Related awesome lists","React [🔝](#readme)"],"sub_categories":["Uncategorized","Windows Manager","其他_文本生成、文本对话","JavaScript Lists","React Components"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frehooks%2Fawesome-react-hooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frehooks%2Fawesome-react-hooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frehooks%2Fawesome-react-hooks/lists"}