Skip to main content

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

HookMô tảKiểu dữ liệu
useIsInitSuccessLấy trạng thái khởi tạo thành công của PSChatfunction()
usePSCurrentUserLấy thông tin của người dùng hiện tạifunction()
usePSThreadUnreadCountLấy số lượng cuộc hội thoại có tin nhắn chưa đọcfunction()
useSelectThreadLấy thông tin của một cuộc hội thoạifunction(id: string)
useIsAvailableUserGet/set trạng thái hoạt động của userfunction() => {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>
);
};