import { useContext } from "react";
import { ChatContext } from "stream-chat-react-native";
const { client, isOnline } = useContext(ChatContext);ChatContext
ChatContext is provided by Chat. If you are not familiar with the React Context API, see the React docs.
Best Practices
- Prefer
useChatContextoveruseContext(ChatContext)for consistency. - Read
isOnlinebefore showing connection-dependent UI or actions. - Keep a single client instance in context to avoid race conditions.
- Use the context-provided
ImageComponentto keep image rendering consistent. - Treat
mutedUsersas read-only UI state; change it via client methods.
Basic Usage
Consume ChatContext in any child of Chat:
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 |