refactor: remove unnecessary refs
This commit is contained in:
@@ -22,12 +22,6 @@ export function useChannel(channelId: string | null): UseChannelResult {
|
|||||||
const [presence, setPresence] = useState<string[]>([]);
|
const [presence, setPresence] = useState<string[]>([]);
|
||||||
const [messages, setMessages] = useState<ChannelMessage[]>([]);
|
const [messages, setMessages] = useState<ChannelMessage[]>([]);
|
||||||
|
|
||||||
// Keep a ref to avoid re-subscribing when sendMessage changes
|
|
||||||
const clientRef = useRef(client);
|
|
||||||
const channelRef = useRef(channelId);
|
|
||||||
clientRef.current = client;
|
|
||||||
channelRef.current = channelId;
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!client || !channelId) {
|
if (!client || !channelId) {
|
||||||
setPresence([]);
|
setPresence([]);
|
||||||
@@ -80,11 +74,11 @@ export function useChannel(channelId: string | null): UseChannelResult {
|
|||||||
|
|
||||||
const sendMessage = useCallback(
|
const sendMessage = useCallback(
|
||||||
(payload: unknown) => {
|
(payload: unknown) => {
|
||||||
if (clientRef.current && channelRef.current) {
|
if (client && channelId) {
|
||||||
clientRef.current.sendMessage(channelRef.current, payload);
|
client?.sendMessage(channelId, payload);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[],
|
[client, channelId],
|
||||||
);
|
);
|
||||||
|
|
||||||
return { presence, messages, sendMessage };
|
return { presence, messages, sendMessage };
|
||||||
|
|||||||
Reference in New Issue
Block a user