해결된 질문
작성
·
83
0
import { ChangeEvent, useState } from "react";
// 리팩토링
const Board = () => {
const [writer, setWriter] = useState("");
const [title, setTitle] = useState("");
const [content, setContent] = useState("");
const [isActive, setIsActive] = useState(false);
const onChangewriter = (event:ChangeEvent<HTMLInputElement>) => {
setWriter(event.target.value);
if (event.target.value !== "" && title && content) return setIsActive(true);
setIsActive(false);
};
const onChangeTitile = (event:ChangeEvent<HTMLInputElement>) => {
setTitle(event.target.value);
if (writer && event.target.value && content) return setIsActive(true);
setIsActive(false);
};
const onChangeContent = (event:ChangeEvent<HTMLInputElement>) => {
setContent(event.target.value);
if (writer && title && event.target.value) return setIsActive(true)
setIsActive(false);
};
const onClickSubmit = (event:MouseEvent<HTMLButtonElement>) => [
console.log(writer),
console.log(title),
console.log(content),
alert("게시물 등록이 완료되었습니다"),
];
return (
<>
작성자 : <input type="text" onChange={onChangewriter} />
<br />
제목 : <input type="text" onChange={onChangeTitile} />
<br />
내용: <input type="text" onChange={onChangeContent} />
<br />
<button
onClick={onClickSubmit}
style={{ backgroundColor: isActive === true ? "yellow" : "none" }}
>
등록
</button>
</>
);
};
export default Board;
답변 2
1
0
안녕하세요! 규성님!
코드 최상단에 ChangeEvent 가 임포트되어있는 반면에, MouseEvent는 임포트 되어있지 않은 것 같아요!
import { ChangeEvent, useState } from "react";
따라서, ChangeEvent 관련 에러메시지는 나오지 않았지만, MouseEvent 관련 에러메시지만 발생하고 있는 것 같아요!^^
MouseEvent도 역시 마찬가지로 기능을 사용하기 위해 임포트해 주세요!
import { ChangeEvnet, useState, MouseEvent } from 'react'