Info:
This is documentation for Stream Chat React Native SDK v8, which is no longer actively maintained. For up-to-date documentation, see the latest version (v9).

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

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 for underlying MessageInput component.

Type
Object

additionalMessageListProps

Additional 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

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. Setting it indicates a thread is open. Both types are interchangeable.

With Thread, this displays the thread. With the standard MessageList, it keeps singleton components in OverlayProvider in sync.

Note:

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

Type
object

UI Component Props

MessageList

Type Default
ComponentType MessageList

MessageInput

Type Default
ComponentType MessageInput
Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Chat React Native v8: <Your Question>