# @uidotdev/usehooks

> A collection of modern, server-safe React hooks – from the ui.dev team

Latest version **2.4.1** (published 2023-10-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install @uidotdev/usehooks
pnpm add @uidotdev/usehooks
yarn add @uidotdev/usehooks
bun add @uidotdev/usehooks
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; popular repo.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.4.1 |
| Published | 2023-10-23 |
| First published | 2023-03-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | >=16 |
| Dependencies | 0 |
| Unpacked size | 42 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11500 |
| Author | Tyler McGinnis, Ben Adam |
| Maintainers | benadam11, tylermcginnis |

## Links

- npm: https://www.npmjs.com/package/@uidotdev/usehooks
- Repository: https://github.com/uidotdev/usehooks
- Homepage: https://github.com/uidotdev/usehooks#readme
- Issues: https://github.com/uidotdev/usehooks/issues
- npm.io page: https://npm.io/package/@uidotdev/usehooks

## Recent versions

- 2.4.1 (latest) — 2023-10-23
- 2.4.1-experimental.1 (experimental) — 2023-10-23
- 2.4.1-experimental.0 — 2023-10-10
- 2.4.0 — 2023-10-10
- 2.3.1-experimental.1 — 2023-09-19
- 2.3.1 — 2023-09-19
- 2.3.1-experimental.0 — 2023-09-18
- 2.3.0 — 2023-09-18
- 2.2.0 — 2023-08-29
- 2.1.1-experimental.1 — 2023-08-21
- 2.1.1 — 2023-08-21
- 2.1.1-experimental.0 — 2023-08-10
- 2.1.0 — 2023-08-10
- 2.0.1 — 2023-05-31
- 2.0.1-experimental.1 — 2023-05-31
- … 12 more at https://npm.io/package/@uidotdev/usehooks/versions

## README

![useHooks](https://usehooks.com/meta/og.jpg)

# useHooks

A collection of modern, server-safe React hooks – from the [ui.dev](https://ui.dev) team.

Compatible with React v18.0.0+.

## Standard

### Install

`npm i @uidotdev/usehooks`

### Hooks

- [useBattery](https://usehooks.com/usebattery)
- [useClickAway](https://usehooks.com/useclickaway)
- [useCopyToClipboard](https://usehooks.com/usecopytoclipboard)
- [useCounter](https://usehooks.com/usecounter)
- [useDebounce](https://usehooks.com/usedebounce)
- [useDefault](https://usehooks.com/usedefault)
- [useDocumentTitle](https://usehooks.com/usedocumenttitle)
- [useFavicon](https://usehooks.com/usefavicon)
- [useGeolocation](https://usehooks.com/usegeolocation)
- [useHistoryState](https://usehooks.com/usehistoryState)
- [useHover](https://usehooks.com/usehover)
- [useIdle](https://usehooks.com/useidle)
- [useIntersectionObserver](https://usehooks.com/useintersectionobserver)
- [useIsClient](https://usehooks.com/useisclient)
- [useIsFirstRender](https://usehooks.com/useisfirstrender)
- [useList](https://usehooks.com/uselist)
- [useLocalStorage](https://usehooks.com/uselocalstorage)
- [useLockBodyScroll](https://usehooks.com/uselockbodyscroll)
- [useLongPress](https://usehooks.com/uselongpress)
- [useMap](https://usehooks.com/usemap)
- [useMeasure](https://usehooks.com/usemeasure)
- [useMediaQuery](https://usehooks.com/usemediaquery)
- [useMouse](https://usehooks.com/usemouse)
- [useNetworkState](https://usehooks.com/usenetworkstate)
- [useObjectState](https://usehooks.com/useobjectstate)
- [useOrientation](https://usehooks.com/useorientation)
- [usePreferredLanguage](https://usehooks.com/usepreferredlanguage)
- [usePrevious](https://usehooks.com/useprevious)
- [useQueue](https://usehooks.com/usequeue)
- [useRenderCount](https://usehooks.com/userendercount)
- [useRenderInfo](https://usehooks.com/userenderinfo)
- [useScript](https://usehooks.com/usescript)
- [useSessionStorage](https://usehooks.com/usesessionstorage)
- [useSet](https://usehooks.com/useset)
- [useThrottle](https://usehooks.com/usethrottle)
- [useToggle](https://usehooks.com/usetoggle)
- [useVisibilityChange](https://usehooks.com/usevisibilitychange)
- [useWindowScroll](https://usehooks.com/usewindowscroll)
- [useWindowSize](https://usehooks.com/usewindowsize)

## Experimental

### Install

`npm i @uidotdev/usehooks@experimental react@experimental react-dom@experimental`

### Hooks

- [useContinuousRetry](https://usehooks.com/usecontinuousretry)
- [useCountdown](https://usehooks.com/usecountdown)
- [useEventListener](https://usehooks.com/useeventlistener)
- [useFetch](https://usehooks.com/usefetch)
- [useInterval](https://usehooks.com/useinterval)
- [useIntervalWhen](https://usehooks.com/useintervalwhen)
- [useKeyPress](https://usehooks.com/usekeypress)
- [useLogger](https://usehooks.com/uselogger)
- [usePageLeave](https://usehooks.com/usepageleave)
- [useRandomInterval](https://usehooks.com/userandominterval)
- [useTimeout](https://usehooks.com/usetimeout)

---
_Source: https://npm.io/package/@uidotdev/usehooks · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
