import axios from 'axios'; import React, { useState, useEffect } from 'react'; import { Form, Button, Row, Image, Col, Container } from 'react-bootstrap'; import { isAuthenticated } from '../utils/auth'; import catchErrors from '../utils/catchErrors'; function Chat(props) { // let defaultname = sessionStorage.getItem('name'); const [name, setName] = useState(['']) const [sender, setSender] = useState([]) const [senderimg, setSenderimg] = useState('') const [inner, setInner] = useState(['']) const [chat, setChat] = useState([]) //object로 key는 보낸사람 value는 메세지 const [disabled, setDisabled] = useState(true) const [user, setUser] = useState('') const [error, setError] = useState(''); const userId = isAuthenticated() async function getProfile(userId) { try { const response = await axios.get(`/users/${userId}`) setUser(response.data) } catch (error) { catchErrors(error, setError) } } function handleChange(e) { e.preventDefault() setInner(e.target.value) console.log(e.target.value) setDisabled(false) } function sendMsgCH(e) { e.preventDefault() setName(sessionStorage.getItem('name')) props.setSingleUser(sessionStorage.getItem('name')) props.setSingleChat(inner) props.sendMsg(e) setInner('') setDisabled(true) console.log(chat) } useEffect(() => { getProfile(userId) }, [userId]) useEffect(() => { setSender([...sender, props.singleUser]) console.log('UseEffect singleUser', sender) setChat([...chat, props.singleChat]) // console.log('UseEffect singlechat', chat) console.log('Chat에 Sing있는 name = ', name, props.singleUser) }, [props.singleChat, props.singleUser]) useEffect(() => { setSender([...sender, props.recievedUser]) console.log('UseEffect RecievedUser', sender) console.log('Chat에 Reci있는 name = ', name) setChat([...chat, props.recievedMsg]) // console.log('UseEffect recievechat', chat) // setName('') }, [props.recievedMsg, props.recievedUser]) const time = new Date().toLocaleTimeString() return (