# Function: useSubscription()

> 

> **useSubscription**\<`TOutput`, `TError`\>(`opts`): [`TRPCSubscriptionResult`](https://trpc.io/docs/typedoc/tanstack-react-query/type-aliases/TRPCSubscriptionResult.md)\<`TOutput`, `TError`\>

Defined in: [tanstack-react-query/src/internals/subscriptionOptions.ts:234](https://github.com/trpc/trpc/blob/57482b0bb09dce5c838dc8bf5727a943488bac61/packages/tanstack-react-query/src/internals/subscriptionOptions.ts#L234)

Runs a subscription while the component is mounted.

## Type Parameters

| Type Parameter |
| ------ |
| `TOutput` |
| `TError` |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `opts` | `TRPCSubscriptionOptionsOut`\<`TOutput`, `TError`, `any`\> |

## Returns

[`TRPCSubscriptionResult`](https://trpc.io/docs/typedoc/tanstack-react-query/type-aliases/TRPCSubscriptionResult.md)\<`TOutput`, `TError`\>

## Example

```ts
const trpc = useTRPC();
const sub = useSubscription(
  trpc.chat.onMessage.subscriptionOptions({ roomId }),
);
```

## See

https://trpc.io/docs/client/tanstack-react-query/usage#subscriptionOptions
