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] = useChannels();
return (
<Chat {...{ options }}>
<ChannelList channels={channels} />
</Chat>
);
Input
Parameter | Type | Required | Defaults | Description |
---|---|---|---|---|
include | Object | Optional | n/a | Option to include respective additional fields in the response. |
→ customFields | Boolean | Optional | false | Option to fetch custom fields or not. |
filter | String | Optional | n/a | Expression 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. |
sort | Object | Optional | n/a | Key-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'} |
limit | Number | Optional | 100 | Number of objects to return in response. Default is 100 which is also the maximum value. |
Output
Parameter | Type | Description |
---|---|---|
array[0] | ChannelData[] | List of returned channels. |
array[1] | Function | Function that can be called to fetch another page of channels. |
array[2] | Number | Total number of stored channels. |
array[3] | Error | If there's an error fetching channels, it will be available here. |