import { useEffect, useState } from "react"; import { Redirect } from "react-router-dom"; import roomApi from "../../apis/room.api"; import catchErrors from "../../context/catchError"; const id = localStorage.getItem('user'); const INIT_ROOM = { name: '', owner: userId, member: userId, profileimg: '', } const CreateRoom = () => { const [room, setRoom] = useState(INIT_ROOM) const [error, setError] = useState(""); const [success, setSuccess] = useState(false) const [disabled, setDisabled] = useState(true) useEffect(() => { const isRoom = Object.values(roomApi).every((el) => Boolean(el)); isRoom ? setDisabled(false) : setDisabled(true); }, [room]); function handleChange(event) { const { name, value, files } = event.target; if (files) { setRoom({ ...room, [name]: files[0] }) } else { setRoom({ ...room, [name]: value }) } console.log(room) } async function handleSubmit(e) { e.preventDefault() let formData = new FormData(); console.log('profileimg:', room.profileimg) console.log('name:', room.name) formData.append("name", room.name); formData.append("userId", id); formData.append("profileimg", room.profileimg); try { const res = await roomApi.create(formData) console.log(res) const Id = res.id console.log(Id) alert(`방참여코드는 ${Id}입니다`) setSuccess(true) } catch (error) { catchErrors(error, setError); } finally { // setLoading(false); } } if (success) { // console.log('success', success) alert('룸생성이 완료되었습니다!') window.location.href=`/user/${id}` // return } const { name, owner, member, profileimg } = room; return (
방생성하기
{error &&
{error}
}
방프로필사진
방이름
); }; export default CreateRoom;