# useReducer

**Kind:** Function

**Source:** [`src/jsx/hooks/index.ts`](https://github.com/honojs/hono/blob/main/src/jsx/hooks/index.ts#L245)

**Part of:** [Jsx](subsystem-src-jsx)

## Signature

```ts
function useReducer(reducer: (state: T, action: A) => T, initialArg: T, init: (initialState: T) => T): [T, (action: A) => void]
```

## Parameters

| Name | Type |
|---|---|
| `reducer` | `(state: T, action: A) => T` |
| `initialArg` | `T` |
| `init` | `(initialState: T) => T` |

**Returns:** `[T, (action: A) => void]`
