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

ChatContext

ChatContext is provided by Chat. If you are not familiar with the React Context API, see the React docs.

Best Practices

  • Prefer useChatContext over useContext(ChatContext) for consistency.
  • Read isOnline before showing connection-dependent UI or actions.
  • Keep a single client instance in context to avoid race conditions.
  • Use the context-provided ImageComponent to keep image rendering consistent.
  • Treat mutedUsers as read-only UI state; change it via client methods.

Basic Usage

Consume ChatContext in any child of Chat:

import { useContext } from "react";
import { ChatContext } from "stream-chat-react-native";

const { client, isOnline } = useContext(ChatContext);

Alternatively, use the useChatContext hook.

import { useChatContext } from "stream-chat-react-native";

const { client, isOnline } = useChatContext();

Value

client

Stream Chat client instance.

Type
StreamChat

connectionRecovering

true when the WebSocket connection is disconnected and being recovered.

Type
boolean

isOnline

true when the current user is connected.

Type
boolean

ImageComponent

Drop-in replacement for all underlying Image components in the SDK. Useful for offline image caching. See the Offline Support Guide.

Type Default
ComponentType Image

mutedUsers

Users muted by the current user.

Type
array
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>