useChannels for PubNub Chat Components for React Native

The hook returns a list of channel metadata objects, optionally including the custom data object for each.

Pagination is handled internally. You can adjust the limit of returned channels on a single call (max/default 100) and call a function returned by the hook to get another page of results. This hook also sets up a listener that reacts to updates and removals of already fetched channels.

However, this behavior requires a living subscription to channels getting updated - this should be handled by the components.

const [channels, fetchPage, total, error, isLoading] = useChannels();

return (
<Chat {...{ options }}>
<ChannelList channels={channels} />
</Chat>
);

Input

ParameterTypeRequiredDefaultsDescription
includeObjectOptionaln/aOption to include respective additional fields in the response.
→ customFieldsBooleanOptionalfalseOption to fetch custom fields or not.
filterStringOptionaln/aExpression used to filter the results. Only objects whose properties satisfy the given expression are returned. See the App Context Filtering Language Definition for more details.
sortObjectOptionaln/aKey-value pair of a property to sort by and a sort direction.

Available options are id, name, and updated.

Use asc or desc to specify sort direction, or specify null to take the default sort direction (ascending).

Example: {name: 'asc'}
limitNumberOptional100Number of objects to return in response.

Default is 100 which is also the maximum value.

Output

ParameterTypeDescription
array[0]ChannelData[]List of returned channels.
array[1]FunctionFunction that can be called to fetch another page of channels.
array[2]NumberTotal number of stored channels.
array[3]ErrorIf there's an error fetching channels, it will be available here.
array[4]BooleanIndicator that the channel data is still being loaded.
Last updated on
On this page