230606(ํ)
๐ ์ฑ์ฅ์ผ์ง 4.0
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
๐ณ (1.0)ํค์๋
์ต๋ํ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌ, ์ถํ์ ๋ณด๋ฉด์ ์ค์ค๋ก ์ค๋ช
๐ (2.0)๊ฒฝํ ์์ฃผ๋ก
๋จ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ๋ณด๋ค ๋ฌด์์ ๋ฐฐ์ ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์งง๊ณ ๊ฐ๋จํ๊ฒ ์์ฑ
โ๏ธ (3.0)์ ํด์ง ํ ํ๋ฆฟ์ ๋ง์ถฐ์
ํค์๋, ๊ฒฝํ ๋ชจ๋ ์ข๋ค. ๋ค๋ง ๋งค์ผ ์์ฑํ๊ธฐ๋ก ๋ง์ ๋จน์๋งํผ ํต์ฌ๋ง ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌํ ์ ์๊ฒ ํ ํ๋ฆฟ์ ์์ฑ
(3.1)230102๋ถํฐ ์์๋๋ ํ์ต์ ๊ดํ ๋ด์ฉ ์ถ๊ฐ
(3.2)230313๋ถํฐ ์ข๋ ๊ฒฝํ, ๊ฐ์ ์์ฃผ์ ๋ด์ฉ๋ ๋ด๊ธฐ!
๐พ (4.0)ํ์ต ํค์๋์์ ์ต๋ํ ๊ฐ๋จํ ์ ๋ณด ์ ๊ณต, ๊ณ ๋ฏผ์์ ๋ด ๊ฒฝํ์ ์์ธํ ์ ์!
๐ ์ค๋์ ํ์ต ํค์๋
useEffect
์ ๋ํ ๊ณ ์ฐฐ
์ด๋ฒ ํ๋ก์ ํธ์์ ๋ง์ง๋ง ์ฃผ์ฐจ ๋ ๋ฌด์จ ์ฝ๋ฉ ๊ธฐ๊ณ ๋ง๋ฅ ๊ตฌํ์ ์ง์คํ๋ค๋ณด๋ ๊นจ๋ฌ์ ๊ฒ ํ๋ ์๋ค. ๋ฆฌ์กํธ์ ํจ์ ์ปดํฌ๋ํธ์์ ์ด useEffect
๋ผ๋ ๋
์์ด ์ฐธ ๋ผ๋ฉด ์คํ ๊ฐ๋ค๋ ๊ฒ์ด๋ค.
์ด useEffect
๋ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง์ด ๋๋ ์งํ ํน์ ์์
์ ์ํํ๋๋ก ํ ์ ์๋ Hook์ด๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด effect
์ฆ, side effect
๋ฅผ ์ํํ๋ ์ญํ ์ ํ๋ค.
๋ฆฌ์กํธ๋ ui๋ฅผ ๊ทธ๋ฆฌ๊ธฐ์ํ(๋ ๋๋งํ๊ธฐ ์ํ) JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ui๋ฅผ ๊ทธ๋ฆฌ๊ธฐ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๊ฒ side effect
๋ ๋ฌด์์ผ๊น? ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์์
, ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๊ณ ํด์ ํ๋ ์์
,
ํ์ด๋จธ๋ฅผ ์ค์ ํ๊ณ ํด์ ํ๋ ์์
๋ฑ์ด side effect
์ ํด๋นํ๋ค. ์ด๋ฌํ ์์
๋ค์ ๋ ๋๋ง๊ณผ๋ ๊ด๋ จ์ด ์๋ ์์
์ด๋ค. ๊ทธ๋์ ๋ฆฌ์กํธ์์๋ ์ด๋ฌํ ์์
๋ค์ useEffect
๋ฅผ ํตํด ์ฒ๋ฆฌํ๋ค.
ํ๋ฐ ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ์๋ค. fetch ๋ผ๋ ๋น๋๊ธฐ api๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ค state๋ฅผ setStateํ๋ ์์
์ useEffect ๋ด๋ถ์์ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๊ฑด ์ ๋ง ๊ด์ฐฎ์ ๊ฒ์ผ๊น?
ํ๋์ ์ปดํฌ๋ํธ ์์ ์ฃผ๊ธฐ์์ ํด๋น ์ปดํฌ๋ํธ๊ฐ ์ฒ์ input์ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.
- ๋ถ๋ชจ์๊ฒ ๋ฐ์ props
- ์์ฒด์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ state
- provider๋ฅผ ํตํด ๋ฐ์ context
์ด๊ธฐ์ ๋ฐ์ ์์ 3๊ฐ์ง๋ฅผ ํตํด ์ด๋ค์ง ์ฒซ ๋ ๋๋ง ์ดํ์ ์ผ์ด๋๋ ๋ ๋๋ง ๋ํ side effect๋ผ๊ณ ๋ณผ ์ ์๋ค. ๊ทธ๋ ๊ธฐ์, ๋ ๋๋ง์ ํจ์จ์ ์๊ฐํ์ง ์๊ณ useEffect
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋๋ง์ด ๋ถํ์ํ๊ฒ
๋ฐ์ํ ์ ์๋ค. ์ด๋ฐ ์ ์ด useEffect
๊ฐ ์ต๋ํ ์ง์ํด์ผํ๋ ๋ผ๋ฉด ์คํ๊ฐ๋ค๋ ์ด์ ์ด๋ค. ์ต๋ํ ๋ด๊ฐ ๊ฐ๊ณ ์๋ props, state, context๋ฅผ handlingํ ์ ์๋ handle ํจ์๋ฅผ ์ ๋ง๋ค๊ณ
๋์ ํ handle ํจ์๋ก๋ ๋์ง ์์ ๋, ๊ทธ ๋ useEffect
๋ฅผ ์ฌ์ฉํ์.
๐ ์์ฝ ๋ฐ ํ๋ฃจ ๊ฐ๋จ ํ๊ณ
๋ค์ ์ฑ์ฅ์ผ์ง ์ด์ฌํ ์์ฑํ ๊ฒ์ด๋ค!!! ๋งค์ผ ๋งค์ผ ์์ ๋จ์์ ๊ณํ์ ์ธ์ฐ๊ณ ๋ถํ ์ ๋ณต์ผ๋ก ์ด๋ค๋๊ฐ ๊ฒ์ด๋ค! ํ ์ ์๋ค, ์์์์!!!
์ค๋์ ์ํ ์
- ์ค์ค๋ก๋ฅผ ๋ฆฌํ๋ ์ฌํ ์
์ค๋์ ์์ฌ์ด ์
- ์๋ค.