React hooks
Chúng tôi cũng cấp một số hooks để giúp bạn tương tác với dữ liệu của Communi Chat.
<<<<<<< HEAD
Hook | Mô tả | Kiểu dữ liệu |
---|---|---|
useIsInitSuccess | Lấy trạng thái khởi tạo thành công của PSChat | function() |
usePSCurrentUser | Lấy thông tin của người dùng hiện tại | function() |
usePSThreadUnreadCount | Lấy số lượng cuộc hội thoại có tin nhắn chưa đọc | function() |
useSelectThread | Lấy thông tin của một cuộc hội thoại | function(id: string) |
useIsAvailableUser | Get/set trạng thái hoạt động của user | function() => {isAvailable: boolean, setAvailableState: () => void, error: Error} |
======= | Hook | Mô tả | Kiểu dữ liệu | | ------------------------ | ------------------------------------------------------ | -------------------- | | useIsInitSuccess | Lấy trạng thái khởi tạo thành công của PSChat | function() | | usePSCurrentUser | Lấy thông tin của người dùng hiện tại | function() | | usePSThreadUnreadCount | Lấy số lượng cuộc hội thoại có tin nhắn chưa đọc | function() | | useSelectThread | Lấy thông tin của một cuộc hội thoại | function(id: string) | | useAllThreadsUnreadCount | Lấy tổng số lượng tin nhắn chưa đọc của toàn bộ thread | function() |
bda4913 (update reactJS SDK v2.8.0)
import { useState } from "react";
import { PSChatProvider, usePSCurrentUser } from "@communi/chat-react";
import axios from "axios";
const UserName = () => {
const user = usePSCurrentUser();
return <div>{user.display_name}</div>;
};
export const App = () => {
const [threadId, setThreadId] = useState(null);
// Demo
const fetchCommuniToken = async () => {
try {
const response = await axios.get("YOUR_FETCH_TOKEN_ENDPOINT");
const { token } = response.data;
return token;
} catch (e) {
console.warn(e);
}
};
return (
<PSChatProvider appId="YOUR_APP_ID" fetchToken={fetchCommuniToken}>
<div className="width-full flex">
<UserName />
</div>
</PSChatProvider>
);
};