๐จ setStateAction ํ์ ์๋ฌ
๐จ ์๋ฌ ๋ฐ์
todolist๋ฅผ ๋ง๋๋๋ฐ ๊ถ๊ธํ ์ ์ด ์๊ฒผ๋ค.
const [createInput, setCreateInput] = useState("");
const onChangeCreateInput = (e: ChangeEvent<HTMLInputElement>) => {
const value = e.target;
setCreateInput(value);
// Error: Argument of type 'EventTarget & HTMLInputElement' is not assignable to parameter of type 'SetStateAction<string>'.ts(2345)
};
value
์ ์ค๊ดํธ์ ์๋ฏธ๊ฐ ๊ถ๊ธํด์ก๋ค.
์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ก ์ ์ธํ์๋๋ ์๋ฌ๊ฐ ์๋๋๋ฐ ์ค๊ดํธ๋ฅผ ์์ ๋๊น ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
ํด๊ฒฐ์ ์ํด okky์ ์ง๋ฌธํด๋ณด์๋ค.
โ ์๋ฌ ์์ธ
EventTarget & HTMLInputElement ํ์
์ ์ ๋ฌ ์ธ์(ํธ์ถํ ๋)๋ SetStateAction
์ฆ, ์ด๋ฒคํธ ๊ฐ์ฒด์ธ e
์ ํ์
๊ณผ setCreateInput
์ ํ๋ผ๋ฏธํฐ์ ํ์
์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค.
์๋ฌ๊ฐ ๋ฐ์ํ ๋ถ๋ถ์ ์ฝ๋์์
e.target
์ ํ์
์ ๋ฐ์ value
์ ํ์
์ EventTarget & HTMLInputElement์ธ๋ฐ,
์ฌ์ฉํ๋ ์ํ ๋ณ๊ฒฝ ํจ์ setCreateInput
์ ํ์
์ด SetStateAction<string>
์ฆ, string์ด๊ธฐ ๋๋ฌธ์ ํ์
์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.
๐จ ์๋ฌ ํด๊ฒฐ
const{ value } = e.target
์ const value = e.target.value
์ ๊ฐ์ ์๋ฏธ์ด๋ค.
ํ์ ์ ๋ง์ถฐ ์ฐ๊ธฐ ์ํด์๋ ๊ฐ์ฒด ๊ตฌ์กฐ ๋ถํด ํ ๋น ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ๊ฐ์ฒด ์์ ๊ฐ์ ๊บผ๋ด์ ์จ์ผ ํ๋ค.
๐ฌ ์ต์ ๋๊ธ