import useActionCable from './hooks/useActionCable'; import useChannel from './hooks/useChannel'; const {actionCable} = useActionCable(`${baseURI.webSocket}/cable`); const {subscribe, unsubscribe} = useChannel<string>(actionCable); useEffect(() => { subscribe( {channel: 'GameChannel', id: gameId}, { received: gameJson => { const parsedGame = JSON.parse(gameJson); setGame(parsedGame); }, }, ); return () => { unsubscribe(); }; }, [subscribe, unsubscribe, gameId]);