用途:指导在 Vite 或 Create React App 这类无 SSR 的纯 React 项目中集成 CometChat React UI Kit v6(@cometchat/chat-uikit-react@^6,可选 @cometchat/calls-sdk-javascript@^5),解决 Provider 接线、登录、路由挂载、布局导航、环境变量与 CSS 等工程问题。官方文档见 https://www.cometchat.com/docs/ui-kit/react/overview,符号以已安装包类型与源码为准。
项目识别:package.json 含 react,且 devDependencies 有 vite 或 dependencies 有 react-scripts;同时不含 next、astro、@remix-run/react 等框架包。仅使用 react-router-dom 的仍是本技能范围。
主要能力与用法:1) Provider:在应用入口包裹 CometChatProvider,用 UIKitSettingsBuilder 设置 AppID、Region、AuthKey,调用 CometChatUIKit.init,登录前用 getLoggedinUser 判断,换账号需先 logout,并用模块级 initialized 标记和 loginInFlight Promise 防止 StrictMode 重复 init 与重复登录(否则报 previous login request 相关错误)。2) 路由:支持 createBrowserRouter 数据路由、Routes/Route 旧写法,或无路由条件渲染。3) 布局:查找 Layout/Navbar 等文件,添加 Messages 链接或抽屉、弹窗触发布局。4) 环境变量:Vite 用 VITE_ 前缀并以 import.meta.env 读取,需把 .env 加入 .gitignore;CRA 用 REACT_APP_ 前缀并以 process.env 读取,改后需重启。AuthKey 仅限开发,生产应由后端或 Serverless 生成 auth token 并使用 loginWithAuthToken。5) CSS:在根入口引入 @cometchat/chat-uikit-react/css-variables.css,只引一次且覆盖样式放在其后。
限制与注意:组件填满 100% 容器,需完整高度链(html、body 高度 100%,#root 用 100vh 而非 min-height),flex 容器需 minHeight: 0,消息列表滚动需为注入的 .cometchat 子元素设置 CSS 高度;开发时 HMR 可能残留旧 WebSocket,出现重复消息可整页刷新。生产认证与收费、价格、平台支持等细节资料未提供。