import useWebSocket from "react-use-websocket"; import React from "react"; import {useParams} from "react-router"; import {GHButton} from "../components/Button"; import useTitle from "../../utils/TitleHook"; const Room = () => { useTitle('Mau!'); const {roomId} = useParams(); const WS_URL = `ws://${process.env.REACT_APP_API_URL}/room/${roomId}`; const [message, setMessage] = React.useState(''); const [messages, setMessages] = React.useState([]); const websocket = useWebSocket(WS_URL, { onOpen: () => { console.log('WebSocket connection established.'); }, onMessage: (event) => { setMessages([...messages, event.data]); } }); const handleSend = () => { websocket.sendMessage(message); setMessage(''); } const handleMessageChange = (event: React.ChangeEvent) => { setMessage(event.target.value); } const handleLeaveRoom = () => { window.location.href = '/'; } return (

Room {roomId}

Leave Room
{ event.preventDefault(); handleSend(); }}> Send
    { messages.map((message, index) => { return
  • {message}
  • }) }
) } export default Room;