3. React Hook
React Hook ์ด๋
Hooks
useState
useEffect
useContext
useRef
useLayoutEffect
React StrictMode๋
React Hooks
๊ธฐ์กด ํด๋์ค ๋ฐํ์ ์ฝ๋๋ฅผ ์์ฑํ ํ์ ์์ด ์ํ ๊ฐ๊ณผ ์ฌ๋ฌ React์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์
์ด์ ๋ฐฉ์์ ๋ฌธ์ ์
์ปดํฌ๋ํธ ์ฌ์ด์์ ์ํ ๋ก์ง์ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ค์
์ปดํฌ๋ํธ ๊ฐ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ง์ ๋ถ์ด๋ ๋ฒ์ ์ ๊ณตํ์ง ์์
render props
๋HOC, Higher Order Component(๊ณ ์ฐจ ์ปดํฌ๋ํธ)
๊ฐ์ ํจํด์ ์ฌ์ฉํ์์ด๋ฐ ๋ฐฉ๋ฒ์
Wrapper Hell
์ ๋ง๋ค ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ ์ฝ๋์ ์ถ์ ์ ์ด๋ ต๊ฒ ๋ง๋ฆHook์ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์ํ ๊ด๋ จ ๋ก์ง์ ์ถ์ํํ ์ ์๊ฒ ํด์ค
์ปดํฌ๋ํธ๊ฐ ๋ณต์กํด์ง
์ํ๊ด๋ จ ๋ก์ง๋ค๊ณผ ์ฌ์ด๋์ดํํธ๊ฐ ์๋ ์ปดํฌ๋ํธ๋ค์ ๋ถ๋ฆฌํ๊ธฐ๊ฐ ์ด๋ ต๊ณ ์ปดํฌ๋ํธ์ ์ฌ์ฌ์ฉ์ ์ด๋ ต๊ฒ ๋ง๋ฆ
Hook์ ํตํด ์๋ก ๋น์ทํ ๊ฒ์ ํ๋ ํจ์๋ค๋ก ์ปดํฌ๋ํธ๋ฅผ ๋๋ ์ ์์
Class๋ ํผ๋์ค๋ฌ์
๋ฆฌ์กํธ์์ Class๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ์
this
์ ๋ํ ์ดํด๊ฐ ํ์Class ์ฌ์ฉ์ ์ํด ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ๋ฑ๋ก๋๋ ๋ฐฉ๋ฒ๋ ์ดํดํด์ผํจ
Hook์ Class ์์ด ๋ฆฌ์กํธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์
render props : ์ปดํฌ๋ํธ ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด ํจ์ props๋ฅผ ์ด์ฉํ๋ ํ ํฌ๋
๊ณ ์ฐจ ์ปดํฌ๋ํธ : ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ์ ์ ์ปดํฌ๋ํธ๋ฅผ ๋ฐํํ๋ ํจ์
Hook์ด ๊ฐ์ ธ์จ ๋ณํ
๊ณผ๊ฑฐ์๋ ์ํ๋ฅผ ๊ฐ์ง ์ปดํฌ๋ํธ๋ class ์ปดํฌ๋ํธ๋ก ๋ง๋ค๊ณ ๋๋จธ์ง ์ปดํฌ๋ํธ๋ง ํจ์ ์ปดํฌ๋ํธ๋ก ๋ง๋ค์์ผ๋ ์ด์ ๋ ๋ชจ๋ ํจ์ ์ปดํฌ๋ํธ๋ก ๋ง๋ค ์ ์์
์ปดํฌ๋ํธ๊ฐ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๋์ง ์ ๊ฒฝ์ธ ํ์๊ฐ ์๊ณ ๋ณต์กํ ์์๋ ์ ๋ถ Hook์ผ๋ก ๊ฒฉ๋ฆฌ, ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
useState
์ํ๊ฐ๊ณผ ๊ทธ ๊ฐ์ ๊ฐฑ์ ํ๋ ํจ์ ๋ฐํ
์ต์ด ์ํ๊ฐ์ ํจ์์ ์ธ์ ๊ฐ
setState
ํจ์๋ ์ํ๋ฅผ ๊ฐฑ์ ํ๋๋ฐ ์ฌ์ฉ์ state ๊ฐ์ ๋ฐ์ ์ปดํฌ๋ํธ ๋ฆฌ๋ ๋๋ง์ ํ์ ๋ฑ๋ก
๋ค์ ๋ฆฌ๋ ๋๋ง ์์
useState
๋ฅผ ํตํด ๋ฐํ๋ฐ์ ์ฒซ๋ฒ์งธ ๊ฐ์ ํญ์ ๊ฐฑ์ ๋ ์ต์ state
setState
๋ ํ์ฌ state์ ๋ฐ๊พธ์ง ์์. ๋ค์ ๋ ๋๋ง์์ state ๊ฐ์ด ๋ฐ๋์ด ์์
useEffect
๋ ๋๋ง ์ดํ ํด์ผํ ์ผ(=React์ ์ธ๋ถ์ ๊ด๋ จ๋ ์ผ) ์ง์
์์กด์ฑ ๋ฐฐ์ด์ ํตํด ์ธ์ ์คํํ ์ง ์ง์ ๊ฐ๋ฅ(์์กด์ฑ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์คํ)
๋ ๋๋ง๋ง๋ค ์คํ
๋ฆฌํด๊ฐ์ผ๋ก ์ข ๋ฃ์(์ปดํฌ๋ํธ ์ธ๋ง์ดํธ์) ์คํํ ์์ ์ ์ง์ ๊ฐ๋ฅ(clean-up method)
์์กด์ฑ ๋ฐฐ์ด์ด ๋น์ด์์ผ๋ฉด ์ต์ด ํ๋ฒ๋ง ์คํ๋จ
Strict Mode
Side effect ๊ฒ์ฌ๋ฅผ ์ํด effect๋ฅผ ๋ ๋ฒ์ฉ ์คํ
Last updated