useChannelMembers for PubNub Chat Components for React

Migrate to Chat SDK

PubNub will stop supporting Chat Components on January 1, 2025 but you are welcome to contribute. Learn how to migrate to the Chat SDK here.

The hook returns a list of members in a channel.

The list will include user metadata for members that have additional metadata stored in the database. Pagination is handled internally. You can adjust the limit of returned members 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 removals of already fetched members. Updates and new memberships are not handled due to technical limitations. However, this behavior requires a living subscription to the channel getting updated - this should be handled by the components.

const [members, fetchPage, refetchChannelMembers, total, error, isLoading] = useChannelMembers({
channel: "channel",
});

return (
<Chat {...{ options }}>
<MemberList members={members} />
</Chat>
);

Input

User ID / UUID

User ID is also referred to as UUID/uuid in some APIs and server responses but holds the value of the userId parameter you set during initialization.

ParameterTypeRequiredDefaultsDescription
includeObjectOptionaln/aOption to include respective additional fields in the response.
→ UUIDFieldsBooleanOptionalfalseOption to include fields for User ID metadata.
→ customUUIDFieldsBooleanOptionalfalseOption to include custom fields for User ID metadata.
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]User[]List of returned members.
array[1]FunctionFunction that can be called to fetch another page of members.
array[2]FunctionFunction that can be called to completely reset the hook. This can be used in case of expected members updates.
array[3]NumberTotal number of stored members.
array[4]ErrorIf there's an error fetching members, it will be available here.
array[5]BooleanIndicator that the channel member data is still being loaded.
Last updated on
On this page