{"id":13469006,"url":"https://github.com/uidotdev/usehooks","last_synced_at":"2025-09-09T20:00:04.540Z","repository":{"id":37998425,"uuid":"164721045","full_name":"uidotdev/usehooks","owner":"uidotdev","description":"A collection of modern, server-safe React hooks – from the ui.dev team","archived":false,"fork":false,"pushed_at":"2025-05-07T04:02:56.000Z","size":3205,"stargazers_count":10548,"open_issues_count":57,"forks_count":552,"subscribers_count":60,"default_branch":"main","last_synced_at":"2025-05-07T20:35:20.669Z","etag":null,"topics":["astro","blog","hooks","react","react-hooks","vercel"],"latest_commit_sha":null,"homepage":"https://usehooks.com","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uidotdev.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"gragland"}},"created_at":"2019-01-08T19:45:51.000Z","updated_at":"2025-05-07T20:05:46.000Z","dependencies_parsed_at":"2023-10-12T00:19:21.105Z","dependency_job_id":"18256de8-266a-4946-88bb-9f8c8ecd7aa1","html_url":"https://github.com/uidotdev/usehooks","commit_stats":{"total_commits":448,"total_committers":37,"mean_commits":"12.108108108108109","dds":0.546875,"last_synced_commit":"90fbbb4cc085e74e50c36a62a5759a40c62bb98e"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uidotdev%2Fusehooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uidotdev%2Fusehooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uidotdev%2Fusehooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uidotdev%2Fusehooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uidotdev","download_url":"https://codeload.github.com/uidotdev/usehooks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253241366,"owners_count":21876808,"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","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":["astro","blog","hooks","react","react-hooks","vercel"],"created_at":"2024-07-31T15:01:24.094Z","updated_at":"2025-05-14T21:00:16.924Z","avatar_url":"https://github.com/uidotdev.png","language":"MDX","readme":"![useHooks](https://usehooks.com/meta/og.jpg)\n\n# useHooks\n\nA collection of modern, server-safe React hooks – from the [ui.dev](https://ui.dev) team.\n\nCompatible with React v18.0.0+.\n\n## Standard\n\n### Install\n\n`npm i @uidotdev/usehooks`\n\n### Hooks\n\n- [useBattery](https://usehooks.com/usebattery)\n- [useClickAway](https://usehooks.com/useclickaway)\n- [useCopyToClipboard](https://usehooks.com/usecopytoclipboard)\n- [useCounter](https://usehooks.com/usecounter)\n- [useDebounce](https://usehooks.com/usedebounce)\n- [useDefault](https://usehooks.com/usedefault)\n- [useDocumentTitle](https://usehooks.com/usedocumenttitle)\n- [useFavicon](https://usehooks.com/usefavicon)\n- [useGeolocation](https://usehooks.com/usegeolocation)\n- [useHistoryState](https://usehooks.com/usehistorystate)\n- [useHover](https://usehooks.com/usehover)\n- [useIdle](https://usehooks.com/useidle)\n- [useIntersectionObserver](https://usehooks.com/useintersectionobserver)\n- [useIsClient](https://usehooks.com/useisclient)\n- [useIsFirstRender](https://usehooks.com/useisfirstrender)\n- [useList](https://usehooks.com/uselist)\n- [useLocalStorage](https://usehooks.com/uselocalstorage)\n- [useLockBodyScroll](https://usehooks.com/uselockbodyscroll)\n- [useLongPress](https://usehooks.com/uselongpress)\n- [useMap](https://usehooks.com/usemap)\n- [useMeasure](https://usehooks.com/usemeasure)\n- [useMediaQuery](https://usehooks.com/usemediaquery)\n- [useMouse](https://usehooks.com/usemouse)\n- [useNetworkState](https://usehooks.com/usenetworkstate)\n- [useObjectState](https://usehooks.com/useobjectstate)\n- [useOrientation](https://usehooks.com/useorientation)\n- [usePreferredLanguage](https://usehooks.com/usepreferredlanguage)\n- [usePrevious](https://usehooks.com/useprevious)\n- [useQueue](https://usehooks.com/usequeue)\n- [useRenderCount](https://usehooks.com/userendercount)\n- [useRenderInfo](https://usehooks.com/userenderinfo)\n- [useScript](https://usehooks.com/usescript)\n- [useSessionStorage](https://usehooks.com/usesessionstorage)\n- [useSet](https://usehooks.com/useset)\n- [useThrottle](https://usehooks.com/usethrottle)\n- [useToggle](https://usehooks.com/usetoggle)\n- [useVisibilityChange](https://usehooks.com/usevisibilitychange)\n- [useWindowScroll](https://usehooks.com/usewindowscroll)\n- [useWindowSize](https://usehooks.com/usewindowsize)\n\n## Experimental\n\n### Install\n\n`npm i @uidotdev/usehooks@experimental react@experimental react-dom@experimental`\n\n### Hooks\n\n- [useContinuousRetry](https://usehooks.com/usecontinuousretry)\n- [useCountdown](https://usehooks.com/usecountdown)\n- [useEventListener](https://usehooks.com/useeventlistener)\n- [useFetch](https://usehooks.com/usefetch)\n- [useInterval](https://usehooks.com/useinterval)\n- [useIntervalWhen](https://usehooks.com/useintervalwhen)\n- [useKeyPress](https://usehooks.com/usekeypress)\n- [useLogger](https://usehooks.com/uselogger)\n- [usePageLeave](https://usehooks.com/usepageleave)\n- [useRandomInterval](https://usehooks.com/userandominterval)\n- [useTimeout](https://usehooks.com/usetimeout)\n","funding_links":["https://github.com/sponsors/gragland"],"categories":["Uncategorized","MDX","JavaScript","前端开发框架及项目","blog","📖 Categories"],"sub_categories":["Uncategorized","React工具库","Hooks \u0026 Data Fetching"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuidotdev%2Fusehooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuidotdev%2Fusehooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuidotdev%2Fusehooks/lists"}