WEB
[React] ๊ณต์ ๋ฌธ์ / Hook / 5. Hook ๊ท์น
NakyungIm
2020. 12. 31. 15:21
Hook์ ๋ค์ 2๊ฐ์ง ๊ท์น์ ๋ฐ๋ฅธ๋ค.
1. ์ต์์(at the top level)์์๋ง Hook ํธ์ถ
๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค์ฒฉ๋ ํจ์ ๋ด์์ ์คํX
์กฐ๊ฑด๋ถ๋ก effect๋ฅผ ์คํํ๊ธธ ์ํ๋ค๋ฉด ์๋์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ์ hook ๋ด๋ถ์ ๋ฃ์ ์ ์๋ค.
useEffect(function persistForm() {
// ๐ ๋ ์ด์ ์ฒซ ๋ฒ์งธ ๊ท์น์ ์ด๊ธฐ์ง ์์ต๋๋ค
if (name !== '') {
localStorage.setItem('formData', name);
}
});
์ ๊ณต๋ lint ๊ท์น์ ํ์ฉํ๋ฉด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋จ!
-> eslint-plugin-react-hooks
2. React ํจ์ ์ปดํฌ๋ํธ ๋ด์์๋ง Hook ํธ์ถ
์ผ๋ฐ JS์์ Hook ํธ์ถ X
์ง์ ์์ฑํ custom Hook ๋ด์์๋ ํ ํธ์ถ ๊ฐ๋ฅ
-> ๋ค์ ์ฅ์์ Custom Hook ๊ณต๋ถํ์! ^_^