์
๋ฌธ์ฃผ์ฐจ๋ ๋ฐฐ์ด ๋ด์ฉ์ ๊ฐ์ง๊ณ ๊ฐ๋จํ ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ๋ณด์๋ค.
์ ๋ชฉ๊ณผ ๋ด์ฉ์ ๋ฃ์ผ๋ฉด ๊ทธ value๊ฐ๋ค์ด ๋ฆฌ์คํธ์ ์ ์ฅ๋๊ณ , ์๋ฃ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ฃ์์ญ์ผ๋ก ์ด๋ํ๊ณ , ์ญ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ญ์ ๊ฐ ๋๋ ๊ธฐ๋ฅ๋ค์ด ์ถ๊ฐ๋ก ์์๋ค.
๋ฐ๋๋ ๋ถ๋ถ๋ง ๋๋๋ง ํ ์ ์๊ฒ useState๋ฅผ ์ฌ์ฉํ์ฌ ์ด 3๊ฐ์ง๋ฅผ ๋ง๋ค์๋ค.
const [title, setTitle] = useState("");
const [content, setContent] = useState("");
const [list, setList] = useState([
{
id: 1,
title: "์์นจ ์กฐ๊น
ํ๊ธฐ",
content: "์์นจ์ ์กฐ๊น
์ ํ๋ฉด ์์พํ๋ค.",
completed: false
},
{
id: 2,
title: "๋์๋ฝ ์ธ๊ธฐ",
content: "๋ ์ด ๋์์ ๋ฐ์์ ๋ชป๋จน์ด์.",
completed: false
}
]);
title๊ณผ content์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ด์๋ list๋ค์ ์ด๊ธฐํ ์์ผ๋์๋ค.
inputํ๋ฉด value์ onChange, event.target.value์ ์ธํธ๋ก ๊ธฐ์ตํ๋๋ ์ถ๊ฐ๋ ๊ฐ๋จํ๊ฒ ๋์๋ค.
์๋ฃ์ ์ญ์ ๋ ๋จธ๋ฆฟ์์ผ๋ก๋ ๊ฐ๋จํ๋๋ฐ ์ฝ๋๋ฅผ ์ง๋ ์ ์๋์ด์ ๊ตฌ๊ธ๋ง์ ํ์ ์กฐ๊ธ ๋ฐ์๋ค^^
[์ถํ ์ ๋ฐ์ดํธ ์น ์์ฉก]
WIL์ ์ผ์ฃผ์ผ์น ๊ณต๋ถ๋ฅผ ํ๊ณ ์ ๋ฆฌํ๋ ๊ฑด๋ฐ, ์ด๋ฒ์ 2์ฃผ์ ๊ฑธ์ณ์ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด์๋ค.
์
๋ฌธ์ฃผ์ฐจ์๋ JS ES6์ ๊ฐ๋จํ ๋ฆฌ์กํธ ๊ฐ๋
์ค๋ช
๋ค์ด ์์๋ค๋ฉด ์ด๋ฒ์ฃผ์ ์ข ๋ ์ด๋ ค์ด ๋ด์ฉ๋ค์ด ๊ธฐ๋ค๋ฆฌ๊ณ ์์๋ค. ๊ฐ๋จํ ๊ณผ์ ๋ ์์๋๋ฐ ๋ฐ์ ๋ด๊ฐ ํ๊ณ ๋ฐ์ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๋๋ฅผ ์์ฑ์์ผฐ๋ค. ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ดํด๋ ๊ฐ๋๋ฐ ์๋ฒฝํ๊ฒ ๋ด๊ฒ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ๊ณ์ ๋ด์ผํ ๊ฑฐ ๊ฐ๋ค.
ํ์ฌ์์ ๋น๋๊ธฐ ํต์ ์ ์ด์ฉํด์ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ์์ ํ๋ ์ผ๋ค์ด ์ข ์ข ์๋๋ฐ, ์ ํํ๊ฒ๋ ์ ๋ชฐ๋ผ๋ ์ค๋ฌด ๊ฒฝํ์ด ์์ด์ ๊ทธ๋ฐ์ง ๋น๋๊ธฐ ํต์ ์ชฝ์ ๋ณต์ต์ ๋๋์ผ๋ก ์๊ฐํ ์ ์์๋ค.
์๋ จ์ฃผ์ฐจ๋ ๊ฐ์ฅ ๊ธฐ์ต์ ๋จ๋๊ฑด ์๋ฌด๋๋ ๋ฆฌ๋์ค์๋ค. ๋น์ฅ ์ด๋ ๋ค!๋ผ๊ณ ์ค๋ช ์ ๋ชปํ์ง๋ง ๋ ๋์๋ ๋จ์ด์๋๋ฐ ์ด๋ฒ ๊ธฐํ์ dispatch๋ผ๋ ๊ฒ๊ณผ store ๋ฑ๋ฑ ๊ฐ๋จํ๊ฒ ์ดํด๊ฐ ๋์ด ์ ๋ฆฌ๋ ํ ์ ์์๋ค.
๋ฆฌ์กํธ ์ชฝ์ ์๋ฌด๋๋ ์ค๋ฌด ๊ฒฝํ์ด ๋ง์ง ์๋ค๋ณด๋ ๊ฐ๋ ์ ๋ฆฌ ๋ง์ผ๋ก๋ ์๋ฒฝํ ์ดํด๋ ์ด๋ ต๊ฒ ์ง๋ง ๋ค์์ฃผ๋ถํฐ ๋ฃ๋ ์ฌํ๊ณผ์ ๋ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ค์ผ๋ฉด์ ๊ฐ๋จํ๊ฒ๋๋ง ์ดํดํ๋ ์๊ฐ์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค. ํ์ด๋ง ๐๐ผโโ๏ธ