๐จHooks๋ ๋ง๋ฒ์ด ์๋๋๋ค! ๊ทธ์ ํจ์์ ๋๋ค!
๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ๊ฐ๋ ์ํ ๊ด๋ จ ๋ก์ง์ ์ปดํฌ๋ํธ ๊ฐ์ ์ฌ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ํต์ ์ธ ๋ฐฉ๋ฒ์ด ๋ ๊ฐ์ง ์์๋๋ฐ, higher-order components์ render props๊ฐ ๋ฐ๋ก ๊ทธ๊ฒ์ ๋๋ค. Custom Hook์ ์ด๋ค ๋๊ณผ๋ ๋ฌ๋ฆฌ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ ์ ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ๋ ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋๋ค.
const [state, setState] = useState(initialState);
์ํ ์ ์ง ๊ฐ๊ณผ ๊ทธ ๊ฐ์ ๊ฐฑ์ ํ๋ ํจ์๋ฅผ ๋ฐํํฉ๋๋ค. ์ต์ด๋ก ๋ ๋๋ง์ ํ๋ ๋์, ๋ฐํ๋ state(state
)๋ ์ฒซ ๋ฒ์งธ ์ ๋ฌ๋ ์ธ์(initialState
)์ ๊ฐ๊ณผ ๊ฐ์ต๋๋ค.
setState
ย ํจ์๋ state๋ฅผ ๊ฐฑ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ์ state ๊ฐ์ ๋ฐ์ ์ปดํฌ๋ํธ ๋ฆฌ๋ ๋๋ง์ ํ์ ๋ฑ๋กํฉ๋๋ค.
useEffect(didUpdate);
useEffect(() => {}, [count])
Effect Hook, ์ฆ useEffect๋ ํจ์ ์ปดํฌ๋ํธ ๋ด์์ ์ด๋ฐ side effects๋ฅผ ์ํํ ์ ์๊ฒ ํด์ค๋๋ค. React class์ componentDidMount ๋ componentDidUpdate, componentWillUnmount์ ๊ฐ์ ๋ชฉ์ ์ผ๋ก ์ ๊ณต๋์ง๋ง, ํ๋์ API๋ก ํตํฉ๋ ๊ฒ์ ๋๋ค.
๐จuseEffect์ ์ ๋ฌ๋ ํจ์๋ ํ๋ฉด์ ๋ ๋๋ง์ด ์๋ฃ๋ ํ์ ์ํํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์!