This is beta documentation for Stream Chat React SDK v14. For the latest stable version, see the latest version (v13) .

ChannelList Hooks

ChannelList manages a channels state array and updates it using internal hooks. You can’t override the hooks directly, but you can override many event handlers via props. See the ChannelList event listener docs.

Best Practices

  • Prefer event handler props over forking internal hooks.
  • Keep handler logic lightweight to avoid blocking list updates.
  • Align custom behavior with the default hook intent (e.g., list ordering on new messages).
  • Use usePaginatedChannels behavior as the model for infinite scrolling.
  • Avoid direct state mutations; rely on setters or returned handlers.

Hooks

HookDescription
useChannelDeletedListenerA custom hook that handles the deletion of a channel from the list.
useChannelHiddenListenerA custom hook that handles the hiding of a channel from the list.
useChannelTruncatedListenerA custom hook that handles when a channel's history is truncated.
useChannelUpdatedListenerA custom hook that handles when a channel is updated.
useChannelVisibleListenerA custom hook that handles when a channel is made visible and added to the list.
useConnectionRecoveredListenerA custom hook that handles when connection is recovered and forces an update of the list.
useMessageNewListenerA custom hook that handles message.new events and updates the list.
useMobileNavigationA custom hook that handles the opening and closing of a mobile navigation via Javascript click event listeners, not Stream events.
useNotificationAddedToChannelListenerA custom hook that handles when a user is added to the list of channel members, moves the channel to the top of the list, and starts watching.
useNotificationMessageNewListenerA custom hook that handles when a new message is added to a channel, moves the channel to the top of the list, and starts watching.
useNotificationRemovedFromChannelListenerA custom hook that handles when a user is removed from the list of channel members and removes the channel from the list.
usePaginatedChannelsA custom hook that handles pagination and querying channels for the list.
useUserPresenceChangedListenerA custom hook that handles when a user's status changes, such as going online or offline.