๐ Reference
๐ Chapter
โฃ
useEvent
๋ deps๊ฐ ์๋ค. useEvent
๋ย ํด๋น ํจ์๊ฐ ํธ์ถ๋๋ ์๊ฐ์ props๋ state์ ๊ฐ์ ํ์ธํ๋๋กย ํ๊ธฐ ๋๋ฌธ์ deps๊ฐ ์๊ณ , ๊ทธ ๊ฐ๋ค์ ์ต์ ๊ฐ์ ๋ฐ์ํ ์ ์๋ค. ๊ทธ๊ฒ๋ ์๋กญ๊ฒ ์ ์ํ๋ ๊ฒ์ด ์๋๋ผย ๊ณ์ ๊ฐ์ ์ฃผ์์ ํจ์๋ก ๋ง์ด๋ค.useEvent
๋ฅผ ์ ํ์ฉํ๋ฉด Effect์ Event๋ฅผ ๊ตฌ๋ถํด์ ํ์ฉํ ์ ์๋ค.useEvent
๋ RFC(RFC: Request For Comment, ๊ฐ๋ฐ์ ์์ด ํ์ํ ๊ธฐ์ , ์ฐ๊ตฌ ๊ฒฐ๊ณผ, ์ ์ฐจ ๋ฑ์ ๊ธฐ์ ํด๋์ ๋ฉ๋ชจ)์ด๊ธฐ ๋๋ฌธ์ ์ถ์๋ ๊ฒ์ด ์๋๋ค.useEvent
๋ props/state์ ์ต์ ๊ฐ์ ๋ฐ์ํ๋ฉด์๋ ํจ์์ ๋ํ ๋ณํ์ง ์๋ ์ฐธ์กฐ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ์์ฑ๋์๋ค.useEvent
ํ
์ ์์กด์ ๋ฐ๋ผ ์๋ก์ด ํจ์๋ฅผ ๋ง๋ค์ง ์๊ณ ๋ ํจ์์ ๋ํย ์์ ์ ์ธ ์ฐธ์กฐ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ์์ฑ๋์๋ค.useEffect
,ย useMemo
,ย useCallback
๊ณผ ๊ฐ์ ํ
์์ ๋ฐ์ํ๋ค.function MyApp() {
const [count, setCount] = useState(0);
return <Counter count={count} />;
}
Counter
ย component๋ย count
ย ๋ณ์๊ฐ ๋ณ๊ฒฝ๋๋ฉดย ๋ฆฌ๋ ๋๋๋ค.count
๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ด๋ ํ effect(useEffect ํ
์ ๋๊ธด ํจ์๋ฅผ effect๋ผ๊ณ ๋ถ๋ฅธ๋ค.)๊ฐ ์คํ๋๊ธฐ๋ฅผ ์ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด์. ์๋์ฒ๋ผย useEffect
ย ํ
์ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.function MyApp() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log(count);
}, [count]);
return <Counter count={count} />;
}
count
๋ฅผย useEffect
ํ
์ ์์กด์ฑ ๋ฐฐ์ด์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ effect๋ย count
๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋คย ์ฌ์คํ๋ ๊ฒ์ด๋ค.