React
用法
React Hook
@chainlit/react-client
包提供了几个 React Hook,用于无缝管理聊天应用程序的各个方面。
useChatSession
:管理聊天会话与 WebSocket 服务器的连接。useChatMessages
:管理聊天消息的检索和渲染。useChatData
:访问与聊天相关的数据和状态。useChatInteract
:提供与聊天系统交互的方法。useAuth
:处理认证过程。useApi
:使用内置的数据获取和错误处理支持简化 API 交互。
useChatSession
Hook
此 Hook 负责管理聊天会话与 WebSocket 服务器的连接。
方法
connect
:建立与 WebSocket 服务器的连接。disconnect
:断开与 WebSocket 服务器的连接。setChatProfile
:设置聊天配置文件状态。
示例
useChatMessages
Hook
useChatMessages
Hook 提供对当前聊天消息、首次用户交互以及 React 应用程序中活动线程 ID 的访问。它利用 Recoil 进行状态管理,确保组件响应状态变化进行响应式更新。
返回值
threadId
(string | undefined
)
当前聊天线程的标识符。messages
(IStep[]
)
聊天消息数组。firstInteraction
(string | undefined
)
首次用户发起交互的内容。
示例
useChatData
Hook
useChatData
Hook 提供对 React 应用程序中各种与聊天相关的状态和数据的全面访问。
返回属性
actions
(IAction[]
)askUser
(IAsk | undefined
)chatSettingsValue
(any
)connected
(boolean
)disabled
(boolean
)error
(boolean | undefined
)loading
(boolean
)tasklists
(ITasklistElement[]
)
示例
useChatInteract
Hook
useChatInteract
Hook 提供一组全面的方法,用于在 React 应用程序中与聊天系统交互。
方法
sendMessage
replyMessage
clear
uploadFile
callAction
startAudioStream
sendAudioChunk
stopTask
示例
useAuth
Hook
useAuth
Hook 管理 React 应用程序中的认证,提供用户会话和令牌管理等功能。
属性与方法
authConfig
user
accessToken
isLoading
logout
示例
useApi
Hook
useApi
Hook 使用 SWR 简化数据获取和错误处理。