---
mobile: false
nav:
  title: use-chat
  path: /use-chat
---

## kgAnnotation

<code src="./ChatDemo/index.tsx"></code>

#### ChatProvider（props）

该组件为包裹组件

| 名称    | 是否必填 | 类型         | 备注                                      |
| ------- | -------- | ------------ | ----------------------------------------- |
| storage | 是       | BasicStorage | 该入参为 chatbox 数据实例可以进行数据操作 |
| config  | 是       | Object       | 该入参为 chatbox 配置项，可以进行配置     |
|         |          |              |                                           |

#### storage

该入参为 BasicStorage 实例化对象

| 名称            | 是否必填 | 类型  | 备注           |
| --------------- | -------- | ----- | -------------- |
| initMessageList | 否       | array | 初始化消息列表 |
|                 |          |       |                |

#### config

该入参为配置项 可以进行

| 名称           | 是否必填 | 类型   | 备注                 |
| -------------- | -------- | ------ | -------------------- |
| initChatType   | 是       | string | 为当前 chat 初始类型 |
| chatTypeConfig | 是       | array  | 当前 chat 类型配置   |

#### chatTypeConfig

| 名称        | 是否必填 | 类型     | 备注                  |
| ----------- | -------- | -------- | --------------------- |
| chatType    | 是       | string   | chat 类型             |
| sendService | 是       | function | chat 发送请求 setvice |

### chat-hooks

#### useChat

| 名称              | 备注               |
| ----------------- | ------------------ |
| messagesList      | 消息列表，展示消息 |
| addMessageList    | 添加消息列表       |
| upDateMessageList | 更新消息列表       |
| removeMessageList | 移除消息列表       |
| setChatType       | 设置消息类型       |
| getMessageItem    | 获取单条消息       |
| sendMessage       | 发送消息           |
| setMessageList    | 设置消息列表       |
| handleRequest     | 请求回调           |
