# useSigner | @account-kit/react

> Overview of the useSigner hook from @account-kit/react

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function useSigner<T>(override?): null | T;
```

Defined in: [account-kit/react/src/hooks/useSigner.ts:23](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/hooks/useSigner.ts#L23)

[Hook](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/hooks/useSigner.ts) for accessing the current Alchemy signer within a React component. It uses a synchronous external store for updates.
This is a good use case if you want to use the signer as an EOA, giving you direct access to it. The signer returned from `useSigner` just does a `personal_sign` or `eth_signTypedData` without any additional logic, but a smart contract account might have additional logic for creating signatures for 1271 validation so `useSignMessage` or `useSignTypeData` instead.

## Example

```ts twoslash
import { useSigner } from "@account-kit/react";
import type { AlchemyWebSigner } from "@account-kit/signer";

const signer: AlchemyWebSigner | null = useSigner();
```

## Type Parameters

<table>
  <thead>
    <tr>
      <th align="left">Type Parameter</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `T` *extends* `any`
      </td>
    </tr>
  </tbody>
</table>

## Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `override?`
      </td>

      <td>
        [`AlchemyAccountContextProps`](../type-aliases/AlchemyAccountContextProps)
      </td>

      <td>
        optional configuration to override the default context. [ref](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/AlchemyAccountContext.ts#L7)
      </td>
    </tr>

  </tbody>
</table>

## Returns

`null` | `T`

The current Alchemy signer or null if none is available. [ref](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/signer/src/client/index.ts#L50)