# Overview

This section covers message metadata and non-regular message states: timestamps, delivery/read state, deleted messages, blocked messages, error UI, and other state-driven variants.

## Metadata

- [`MessageStatus`](/chat/docs/sdk/react-native/ui-components/message-status/) renders delivery and read state.
- [`MessageTimestamp`](/chat/docs/sdk/react-native/ui-components/message-timestamp/) renders the timestamp text used by status UI.
- [`MessageEditedTimestamp`](/chat/docs/sdk/react-native/ui-components/message-edited-timestamp/) renders the edited label/timestamp variant.

Use these when you want to change how timing or read state is presented without rewriting the rest of the message row.

## State-Driven Variants

- [`MessageError`](/chat/docs/sdk/react-native/ui-components/message-error/)
- [`MessageDeleted`](/chat/docs/sdk/react-native/ui-components/message-deleted/)
- [`MessageBlocked`](/chat/docs/sdk/react-native/ui-components/message-blocked/)
- [`MessageBounce`](/chat/docs/sdk/react-native/ui-components/message-bounce/)
- [`MessageSystem`](/chat/docs/sdk/react-native/ui-components/message-system/)

## Recommendation

Customize `MessageStatus` and the timestamp components for metadata changes. Use the dedicated state components when the visual treatment depends on the message type or lifecycle state.

## Related Guides

- [Message Status Indicators](/chat/docs/sdk/react-native/guides/message-status-indicators/)
- [Blocking Users](/chat/docs/sdk/react-native/guides/blocking-users/)


---

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

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