# useChannelActionItems

Builds channel action items (mute, archive, leave, delete, etc.) for swipe rows and action sheets.

## Best Practices

- Use this hook as the source of truth for channel row actions.
- Prefer `getChannelActionItems` to customize ordering/visibility instead of rebuilding defaults.
- Keep custom action handlers async-safe and user-feedback friendly.
- Distinguish direct chats vs group channels when customizing labels.
- Keep destructive actions clearly separated from standard actions.

## Usage

```tsx
import { useChannelActionItems } from "stream-chat-react-native";

const actionItems = useChannelActionItems({
  channel,
  getChannelActionItems: ({ defaultItems }) =>
    defaultItems.filter((item) => item.id !== "archive"),
});
```

## Parameters

| Name                  | Type                    | Required | Description                                    |
| --------------------- | ----------------------- | -------- | ---------------------------------------------- |
| channel               | `Channel`               | Yes      | Channel used to compute available actions.     |
| getChannelActionItems | `GetChannelActionItems` | No       | Optional transformer for default action items. |

## Returns

| Type                  | Description                                         |
| --------------------- | --------------------------------------------------- |
| `ChannelActionItem[]` | Ordered action definitions for channel UI controls. |


---

This page was last updated at 2026-04-17T17:33:46.361Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/hooks/channel-list/use-channel-action-items/](https://getstream.io/chat/docs/sdk/react-native/hooks/channel-list/use-channel-action-items/).