# Poll

A component used to render a poll within a `MessageList`. Needs to be structured inside a [`Channel` component](/chat/docs/sdk/react-native/v8/core-components/channel/).

It will render its default `PollContent`, which can be overridden for custom UI. Its children have access to the entire `poll` state through the `usePollState` hook.

## Best Practices

- Render polls inside `Channel` to access poll context and state.
- Use `PollContent` overrides for UI changes without rewriting poll logic.
- Rely on `usePollState` for data instead of duplicating poll state.
- Handle missing or expired polls gracefully.
- Keep poll UI compact to avoid list clutter.

## Props

### message

Message object.

| Type           |
| -------------- |
| `Message` type |


### `poll` \*

An instance of the [`Poll` class](https://github.com/GetStream/stream-chat-js/blob/master/src/poll.ts) containing reactive state.

It is used by the underlying `usePollContext`, `usePollStateStore` and `usePollState` hooks to provide us with the reactive `Poll` state.

<admonition type="note">

If you need the `Poll` instance you may get it from `client.polls.fromState(pollId)`.

</admonition>

| Type   |
| ------ |
| object |


### `PollContent`

A `Component` prop used to render the content of the `Poll` component in `MessageList`.

The component has full access to the entire `Poll` reactive state through the `usePollState` hook.

| Type          | Default                                                                                                                  |
| ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| ComponentType | [`PollContent`](https://github.com/GetStream/stream-chat-react-native/v8/blob/main/package/src/components/Poll/Poll.tsx) |

#### Props

##### `PollHeader`

A `Component` prop used to render the header of the `PollContent` component.

| Type          | Default                                                                                                                 |
| ------------- | ----------------------------------------------------------------------------------------------------------------------- |
| ComponentType | [`PollHeader`](https://github.com/GetStream/stream-chat-react-native/v8/blob/main/package/src/components/Poll/Poll.tsx) |

##### `PollButtons`

A `Component` prop used to render the buttons of the `PollContent` component.

| Type          | Default                                                                                                                  |
| ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| ComponentType | [`PollButtons`](https://github.com/GetStream/stream-chat-react-native/v8/blob/main/package/src/components/Poll/Poll.tsx) |


---

This page was last updated at 2026-04-17T17:33:45.001Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/v8/ui-components/poll/](https://getstream.io/chat/docs/sdk/react-native/v8/ui-components/poll/).