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).

AttachmentUploadPreviewList

AttachmentUploadPreviewList is the default UI for previewing uploads inside MessageInput.

Best Practices

  • Use MessageComposer state to drive previews instead of duplicating upload state.
  • Filter attachments by type only when you need specialized UI.
  • Keep preview components lightweight to avoid slowing input typing.
  • Provide clear affordances for cancel/remove actions.
  • Override subcomponents for per-type customization instead of rewriting the list.

Replace it via the AttachmentUploadPreviewList prop on Channel.

<Channel AttachmentUploadPreviewList={CustomAttachmentUploadPreviewList} />

It uses the stream-chat MessageComposer API to show upload previews.

import { isLocalImageAttachment } from "stream-chat";
import { useAttachmentManagerState } from "stream-chat-react-native";

const { attachments } = useAttachmentManagerState();

// Only show image attachments
const imageUploads = attachments.filter((attachment) =>
  isLocalImageAttachment(attachment),
);

// Show all other file attachments
const fileUploads = attachments.filter(
  (attachment) => !isLocalImageAttachment(attachment),
);

Props

AudioAttachmentUploadPreview

Customize the audio attachment upload preview in MessageInput.

Type Default
ComponentType AudioAttachmentUploadPreview

FileAttachmentUploadPreview

Customize the file attachment upload preview in MessageInput.

Type Default
ComponentType FileAttachmentUploadPreview

ImageAttachmentUploadPreview

Customize the image attachment upload preview in MessageInput.

Type Default
ComponentType ImageAttachmentUploadPreview

VideoAttachmentUploadPreview

Customize the video attachment upload preview in MessageInput.

Type Default
ComponentType VideoAttachmentUploadPreview
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>