UNPKG

@lobstar/preact

Version:

A collection of Preact hooks to use Lobstar library for network and lobby management for multiplayer web games

19 lines (18 loc) 567 B
import { useState, useEffect } from "preact/hooks"; /** * Hook to track session state changes */ export function useSessionState(session) { const [state, setState] = useState(session ? session.getState() : null); useEffect(() => { if (!session) return; const handleStateChange = ({ state: newState, }) => { setState(newState); }; const unsubscribe = session.on("stateChange", handleStateChange); setState(session.getState()); return unsubscribe; }, [session]); return state; }