# Thread

Renders thread replies for a message, with an input for new replies. Internally uses `MessageList` and `MessageInput`.

## Best Practices

- Render `Thread` within `Channel` and pass `thread`/`threadList` correctly.
- Use `closeThreadOnDismount` to keep channel state in sync.
- Avoid heavy customization; override `MessageList`/`MessageInput` only when needed.
- Keep thread input focused only when appropriate (`autoFocus`).
- Use `reloadThread`/`loadMoreThread` instead of manual pagination.

## General Usage

```tsx {8}
import {
  OverlayProvider,
  Chat,
  Channel,
  Thread,
} from "stream-chat-react-native";

const App = () => {
  return (
    <OverlayProvider>
      <Chat client={client}>
        <Channel channel={channel} thread={message} threadList>
          <Thread />
        </Channel>
      </Chat>
    </OverlayProvider>
  );
};
```

## Props

### `additionalMessageInputProps`

Additional [props](/chat/docs/sdk/react-native/v8/ui-components/message-input#props/) for underlying `MessageInput` component.

| Type   |
| ------ |
| Object |

### `additionalMessageListProps`

Additional [props](/chat/docs/sdk/react-native/v8/ui-components/message-list#props/) for underlying `MessageList` component.

| Type   |
| ------ |
| Object |

### `autoFocus`

When true, the input auto-focuses on mount.

| Type    | Default |
| ------- | ------- |
| Boolean | `true`  |

### `closeThreadOnDismount`

Closes thread on dismount, defaults to `true`.

| Type    | Default |
| ------- | ------- |
| Boolean | `true`  |

### `client`

Stream Chat client instance.

| Type                                                        |
| ----------------------------------------------------------- |
| [`StreamChat`](https://github.com/GetStream/stream-chat-js) |

### `closeThread`

Unsets the thread and thread messages in the Channel state.

| Type     |
| -------- |
| Function |

### `disabled`

When true, the underlying input box will be disabled.

| Type    | Default |
| ------- | ------- |
| Boolean | `false` |

### `loadMoreThread`

Loads more messages for the thread. Returns a promise.

| Type                  |
| --------------------- |
| `() => Promise<void>` |

### `onThreadDismount`

Called when `Thread` unmounts.

| Type     |
| -------- |
| Function |

### `parentMessagePreventPress`

Boolean to enable/disable parent message press.

| Type    | Default |
| ------- | ------- |
| Boolean | `true`  |

### `reloadThread`

Reloads the thread and thread messages.

| Type     |
| -------- |
| function |

### `thread`

Can be a `LocalMessage` or [`ThreadType`](https://github.com/GetStream/stream-chat-react-native/v8/blob/develop/package/src/contexts/threadContext/ThreadContext.tsx). Setting it indicates a thread is open. Both types are interchangeable.

With [`Thread`](/chat/docs/sdk/react-native/v8/ui-components/thread/), this displays the thread. With the standard [`MessageList`](/chat/docs/sdk/react-native/v8/ui-components/message-list/), it keeps singleton components in [`OverlayProvider`](/chat/docs/sdk/react-native/v8/core-components/overlay-provider/) in sync.

<admonition type="note">

Set `thread` on all `Channel` components when a thread is open.

</admonition>

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


## UI Component Props

### `MessageList`

| Type          | Default                                                                     |
| ------------- | --------------------------------------------------------------------------- |
| ComponentType | [`MessageList`](/chat/docs/sdk/react-native/v8/ui-components/message-list/) |

### `MessageInput`

| Type          | Default                                                                       |
| ------------- | ----------------------------------------------------------------------------- |
| ComponentType | [`MessageInput`](/chat/docs/sdk/react-native/v8/ui-components/message-input/) |


---

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

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