UNPKG

kawkab-frontend

Version:

Kawkab frontend is a frontend library for the Kawkab framework

21 lines (20 loc) 712 B
import { useState, useEffect, useRef } from 'react'; import { socket } from '../index.js'; export function useSocket() { const socketRef = useRef(socket); const [isConnected, setIsConnected] = useState(socketRef.current?.isConnected || false); useEffect(() => { const s = socketRef.current; if (!s) return; const onConnect = () => setIsConnected(true); const onDisconnect = () => setIsConnected(false); s.on('open', onConnect); s.on('close', onDisconnect); return () => { s.off('open', onConnect); s.off('close', onDisconnect); }; }, []); return { socket: socketRef.current, isConnected }; }