This is documentation for Stream Chat React Native SDK v4, which is nolonger actively maintained. For up-to-date documentation, see the latest version (v5).

MessagesContext

Value

additionalTouchableProps

Additional props provided to the underlying TouchableOpacity used by components within a message such as MessageContent.

Type
object

channelId

Id of current channel.

Type
string

deletedMessagesVisibilityType

Controls the visibility of the deleted messages within the channel.

  • always: The deleted messages in the channel will be visible to both the sender and receiver.
  • never: The deleted messages will not be visible to anyone.
  • sender: The deleted messages in the channel will only be visible to sender.
  • receiver: The deleted messages in the channel will only be visible to receiver.
TypeDefault
enum(‘always’, ‘never’, ‘receiver’, ‘sender’)‘both’

disableTypingIndicator

Disable typing indicator in MessageList.

TypeDefault
booleanfalse

dismissKeyboardOnMessageTouch

Dismiss the keyboard when a user touches any of the messages in the list.

TypeDefault
booleanfalse

enableMessageGroupingByUser

Note: This prop is available only in SDK version >= v3.9.0

If false, consecutive messages from same user won’t be grouped together.

TypeDefault
booleantrue

forceAlignMessages

Forces alignment of messages in the list to either the left or right side of the screen. By default, received messages are aligned on the left side of the screen, and sent messages are aligned on the right.

TypeDefault
’left’ | ‘right’ | falsefalse

formatDate

Format function that returns a string to be used for the date in the message status and delete message component.

Type
function
ParameterDescription
datedate to format provided as a string, Date, or number (Unix Timestamp)

handleBlock

Function called when the Block User action is invoked from message actions list. This function does not override the default behavior of the Block User action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleCopy

Function called when the Copy Message action is invoked from message actions list. This function does not override the default behavior of the Copy Message action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleDelete

Function called when the Delete Message action is invoked from message actions list. This function does not override the default behavior of the Delete Message action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleEdit

Function called when the Edit Message action is invoked from message actions list. This function does not override the default behavior of the Edit Message action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleFlag

Function called when the Flag Message action is invoked from message actions list. This function does not override the default behavior of the Flag Message action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleMute

Function called when the Mute User action is invoked from message actions list. This function does not override the default behavior of the Mute User action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleQuotedReply

Function called when the Reply action is invoked from message actions list. This function does not override the default behavior of the Reply action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleReaction

Function called when a reaction is selected in the message overlay, this is called on both the add and remove action. This function does not override the default behavior of the reaction being selected. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on
reactionTypestring designating the type of reaction

handleRetry

Function called when the Retry action is invoked from message actions list. This function does not override the default behavior of the Retry action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

handleThreadReply

Function called when the Thread Reply action is invoked from message actions list. This function does not override the default behavior of the Thread Reply action. Please refer to the guide on customizing message actions for details.

Type
function
ParameterDescription
messagemessage the action is called on

initialScrollToFirstUnreadMessage

Load messages in a channel at the first unread message.

TypeDefault
booleanfalse

isAttachmentEqual

Function which returns true if passing nextAttachment to render would return the same result as passing prevAttachment to render, otherwise return false.

Type
function
ParameterDescription
prevAttachmentprevious message attachment to be compared
nextAttachmentnext message attachment to be compared

legacyImageViewerSwipeBehaviour

markdownRules

Object specifying rules defined within simple-markdown.

Type
object

messageActions

An array of, or function that returns and array of, actions that can be performed on a message shown in the message overlay. Please refer to the guide on customizing message actions for details.

TypeDefault
array | functionmessageActions
ParameterDescription
actionInfoan object containing the original actions and relevant message data

messageContentOrder

Order in which to render the content of a message.

TypeDefault
array[‘quoted_reply’, ‘gallery’, ‘files’, ‘text’, ‘attachments’]

myMessageTheme

Theme applied to messages of the current user.

Type
object

onLongPressMessage

Function called when a user long presses a message. The default opens the message actions overlay.

Type
function
ParameterDescription
payload{ actionHandlers, message }

onPressInMessage

Function called immediately when a touch is engaged on a message, before onPressMessage.

Type
function
ParameterDescription
payload{ actionHandlers, message }

onPressMessage

Function called when a user presses a message.

The default handler for message press interactions acts differently when pressing on reactions and attachments. You will have to handle these cases when overriding this function.

Type
function
ParameterDescription
payload{ additionalInfo, actionHandlers, message }

The additionalInfo prop is handy for getting information from certain click events. A good example of this is getting the user details when a textMention (for example @Enigma-I-am) is clicked.

For example:

    <Channel
      onPressMessage={({ additionalInfo, defaultHandler, emitter }) => {

          if (emitter === 'textMention') {
            console.log(additionalInfo?.user);
            return;
          }

          if (emitter === 'card' || emitter === 'textLink') {
            console.log(additionalInfo?.url);
            return;
          }

          defaultHandler?.();
      }}
    >

:::info

The additionalInfo prop will change over time as we explore more use-cases for different emitter's.

removeMessage

Function to remove message from local channel state. Please note that this function is only for updating the local state, it doesn’t call the API for deleting message (channel.deleteMessage).

Type
(message) => void

Reply

Component to render preview of parent of message for quoted reply.

TypeDefault
componentReply

retrySendMessage

Function to re-attempt sending failed message.

Type
(message) => void

selectReaction

Full override of the reaction function on a message. This function must return a function that takes as a parameter the reactionType as a string. Please refer to the guide on customizing message actions for details.

Type
function | null
ParameterDescription
messagemessage the action is called on

setEditingState

Enables editing state for given message.

Type
(message) => void

setQuotedMessageState

Enables quoted-reply state on given message.

Type
(message) => void

supportedReactions

List of reactions which can be added on message. Please refer to the guide on customizing reactions for details.

TypeDefault
arrayreactionData

targetedMessage

Has the message id of the message which is to be highlighted. By default the value is undefined. As soon as the highlight time is out this is set to undefined.

Type
string

updateMessage

Upserts a given message in local channel state. Please note that this function doesn’t call channel.sendMessage. Channel component uses this function for optimistic updates to message.

Type
(message) => void

Attachment

Component for rendering attachments in MessageList.

Available props:

  • attachment {object}
TypeDefault
componentAttachment

AttachmentActions

Component to render additional actions on attachment. for example send, shuffle, cancel in case of Giphy.

TypeDefault
componentAttachmentActions

Card

Component to render any custom type of attachment. Please check the guides for Custom Attachment

TypeDefault
componentCard

CardCover

Component to render main body for Card component which renders custom type of attachment. Please check the guides for Custom Attachment.

Type
component

CardFooter

Component to render footer for Card component which renders custom type of attachment. Please check the guides for Custom Attachment.

Type
component

CardHeader

Component to render header for Card component which renders custom type of attachment. Please check the guides for Custom Attachment.

Type
component

DateHeader

Component to render sticky date header within enclosed MessageList component.

TypeDefault
componentDateHeader

FileAttachment

Component to render ‘file’ type attachment in MessageList.

TypeDefault
componentFileAttachment

FileAttachmentGroup

Component to render group of file type attachments, when there are multiple file type attachments in message.

TypeDefault
componentFileAttachmentGroup

FileAttachmentIcon

Component to render file icon for file type attachment.

TypeDefault
componentFileIcon

FlatList

FlatList component for underlying MessageList component.

TypeDefault
componentflat-list-mvcp

Component to render ‘image’ type attachments in the MessageList.

TypeDefault
componentGallery

Giphy

Component to render Giphy type attachments in MessageList.

TypeDefault
componentGiphy

giphyVersion

The Giphy version to render - check the keys of the Image Object for possible values.

TypeDefault
string’fixed_height’

InlineDateSeparator

Component to render inline date separators between messages which were created at a difference of more than a day.

TypeDefault
componentInlineDateSeparator

InlineUnreadIndicator

Component to render inline separator in MessageList, to indicate the position of last read message in list.

TypeDefault
componentInlineUnreadIndicator

MessageAvatar

Component to render avatar of sender for message, within MessageList. This component is only rendered for messages from other users.

TypeDefault
componentMessageAvatar

MessageContent

Component to render content of message including status, attachments, reactions etc., within MessageList.

TypeDefault
componentMessageContent

MessageDeleted

Component to render deleted message.

TypeDefault
componentMessageDeleted

MessageFooter

Component to render footer for message, within MessageList.

TypeDefault
componentMessageFooter

MessageHeader

Component to render header for message, within MessageList.

Type
component

MessageReplies

Component to show number of thread replies and avatars of members who replied on message

TypeDefault
componentMessageReplies

MessageRepliesAvatars

Component to show avatars of members who thread replied on message.

TypeDefault
componentMessageRepliesAvatars

MessageSimple

Component to render a message within MessageList.

Please check guides section for Customizing Message UI for details.

TypeDefault
componentMessageSimple

MessageStatus

Component to render status of message, which includes time and read-receipts.

TypeDefault
componentMessageStatus

MessageSystem

Component to render system type messages. Purpose of system messages is to inform user about changes to channel. System messages are part of message history, and have a property type set as system. You can add system messages within message history in following scenarios:

TypeDefault
componentMessageSystem

MessageText

Component to render text of message. By default, we use Simple Markdown package to render the text content of message. If you decide to use this prop, please be aware that you will need to handle the markdown rendering yourself.

TypeDefault
componentrenderText

OverlayReactionList

Reaction selector component displayed within the message overlay when user long presses a message.

TypeDefault
componentOverlayReactionList

ReactionList

Component to render list of reactions at top of message bubble.

TypeDefault
componentReactionList

ScrollToBottomButton

Component to render a button which when pressed, scrolls the message list to bottom.

TypeDefault
componentScrollToBottomButton

TypingIndicator

Component to render typing indicator within enclosed MessageList component.

TypeDefault
componentTypingIndicator

TypingIndicatorContainer

Component to render container in which typing indicator gets rendered within enclosed MessageList component.

TypeDefault
componentTypingIndicatorContainer

UrlPreview

Component to render preview of URLs in MessageList.

TypeDefault
componentCard

VideoThumbnail

Component to render the video thumbnail for video attachments in MessageList.

TypeDefault
componentVideoThumbnail

© Getstream.io, Inc. All Rights Reserved.