---
source_url: https://www.pubnub.com/docs/chat/components/react-native/ui-components/channel-list
title: Channel List for PubNub Chat Components for React Native
updated_at: 2026-06-17T11:36:51.099Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Channel List for PubNub Chat Components for React Native

:::warning Migrate to Chat SDK
PubNub will stop supporting Chat Components on January 1, 2025 but you are [welcome to contribute](https://github.com/pubnub/react-chat-components). Learn how to migrate to the Chat SDK [here](https://www.pubnub.com/docs/general/resources/migration-guides/react-components-chat-sdk).
:::

Renders an interactive list of channels.

It can represent all channels of the application, only channels joined by the current user, all channels available to be joined, or whatever else is passed into it. A common pattern in chat applications is to render two instances of the component - one visible all the time to show joined channels, and another one hidden inside a modal with channels available to join. Make sure to handle the `onChannelSwitched` event to switch the current channel passed to the Chat provider.

## Component

Check the source code of the Channel List component and its preview on the right.

:::tip Configurable parameters
The component source code contains additional parameters that are commented out. These parameters are optional and you can use them to configure the component layout to your liking. Refer to the [Parameters](#parameters) section for details on their usage.
:::

### Try it out

Modify the source code of the component to your liking and see the changes live on the preview. For example, you can change the `theme` to `dark` or uncomment one of the [configurable parameters](#parameters) to see how you can modify the component's default behavior.

## Parameters

You can configure the component using these parameters:

| Parameter | Default value | Description |
| --- | --- | --- |
| channels | ChannelEntity[] | Optional |  | n/a | Option to pass a list of channels, including metadata, to render on the list. |
| sort? | (a: | Optional |  | n/a | Channels are sorted alphabetically by default, you can override that by providing a sorter function. |
| extraActionsRenderer? | (channel: | Optional |  | n/a | Option to provide an extra actions renderer to add custom action buttons to each channel. |
| channelRenderer? | (channel: | Optional |  | n/a | Option to provide a custom channel renderer to override default themes and styles. |
| onChannelSwitched? | (channel: | Optional |  | n/a | Callback run when a user clicked one of the channels. Can be used to switch the current channel. |
| onChannelLongPressed? | (channel: | Optional |  | n/a | Callback run when a user long pressed one of the channels. Can be used for extra actions menu. |
| style? | ChannelListStyle | Optional |  | n/a | Option to provide a custom StyleSheet for the component. It will be merged with the default styles. |