import React from 'react'; import { socket } from '../../App' import Header from './Header/Header' import './ChatBox.scss' const ChatBox = ({ user }) => { const [messages, setMessages] = React.useState([]) const chatContentElement = React.useRef(null) const inputMessageElement = React.useRef(null) const sendMessage = e => { e.preventDefault() const message = e.target.elements.message socket.emit('chat:message', message.value, user.username) message.value = '' } const ChatContent = () =>
{messages.map((obj, i) => { const date = new Date() return (

{obj.username} {`${date.getHours()}:${date.getMinutes()}`}

{obj.message}
) })}
const ChatInput = () => { return (
) } React.useEffect(() => { socket.on('chat:message', (message, username) => { setMessages(messages => ([...messages, { message, username }])) chatContentElement.current.scrollTop = chatContentElement.current.scrollHeight inputMessageElement.current.focus() }) }, [setMessages]); return (
) } export default ChatBox