useUserMemberships for PubNub Chat Components for React Native

The hook returns a list of channel memberships for a user.

This method doesn't return user's subscriptions. 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 removals of already fetched channels. Updates and new memberships are not handled due to technical limitations. However, this behavior requires a living subscription to the user getting updated - this should be handled by the components.

const [channels, fetchPage, refetchMemberships, total, error] = useUserMemberships({
uuid: "user",
});

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

Input

ParameterTypeRequiredDefaultsDescription
includeObjectOptionaln/aOption to include respective additional fields in the response.
 channelFieldsBooleanOptionalfalseOption to include fields for channels metadata.
 customChannelFieldsBooleanOptionalfalseOption to include custom fields for channels metadata.
filterStringOptionaln/aExpression used to filter the results. Only objects whose properties satisfy the given expression are returned. See the Objects 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]FunctionFunction that can be called to completely reset the hook. This can be used in case of expected membership updates.
array[3]NumberTotal number of stored channels.
array[4]ErrorIf there's an error fetching channels, it will be available here.
On this page