๐ useEffect๋ฅผ ์ ๋ฒ์ฃผ ํ์ด๋ถ์ด ์๋ ค์ฃผ์ จ๋๋ฐ ์ด๊ฒ์ ์ค์ ๋ก ํ์ฉํด๋ณด๋ ์๋นํ ํธํ๊ฒ ์ฌ์ฉํ ์ ์์ด์ ์ข๋ค.
๐ ์ค๋ ํ์ตํ ๋ด์ฉ
React
- Side Effect(๋ถ์ ํจ๊ณผ)
- ํจ์ ๋ด์์ ์ด๋ค ๊ตฌํ์ด ํจ์ ์ธ๋ถ์ ์ํฅ์ ๋ผ์น๋ ๊ฒฝ์ฐ
- fetch๋ฅผ ํตํด API๋ฅผ ๊ฐ์ ธ์ฌ ๋
- ์ด๋ฒคํธ๋ฅผ ํ์ฉํด DOM์ ์ง์ ์กฐ์ํ ๋
- ํจ์ ๋ด์์ ์ด๋ค ๊ตฌํ์ด ํจ์ ์ธ๋ถ์ ์ํฅ์ ๋ผ์น๋ ๊ฒฝ์ฐ
- Pure Function(์์ ํจ์)
- ์ค์ง ํจ์์ ์ ๋ ฅ๋ง์ด ํจ์์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ๋ ํจ์
- useEffect
- side effect๋ฅผ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ HOOK
- ๋ ๋๋ง ์กฐ๊ฑด
- ์ปดํฌ๋ํธ ์์ฑํ ์ฒ์ ํ๋ฉด์ ๋ ๋๋ง
- ์ปดํฌ๋ํธ์ ์๋ก์ด props๊ฐ ์ ๋ฌ๋๋ฉฐ ๋ ๋๋ง
- ์ปดํฌ๋ํธ์ state๊ฐ ๋ฐ๋๋ฉฐ ๋ ๋๋ง
- ์ฌ์ฉ๋ฐฉ๋ฒ
- useEffect๋ง ์์ฑํ ๊ฒฝ์ฐ: ๋ ๋๋ง ๋ง๋ค ์คํ
- useEffect ๋ค์ ๋น ๋ฐฐ์ด ์์ฑํ ๊ฒฝ์ฐ: ์ต์ด์ ํ๋ฒ๋ง ์คํ
- useEffect ๋ค์ ๋ฐฐ์ด ์์ state๋ฅผ ์์ฑํ ๊ฒฝ์ฐ: state๊ฐ ๋ณํํ ๋ ๋ง๋ค ์คํ
// ๋ ๋๋ง ๋ง๋ค ์คํ
useEffect(() => {
})
// ์ต์ด์ ํ๋ฒ๋ง ์คํ
useEffect(() => {
}, [])
// state๊ฐ ๋ณํ ๋ ๋ง๋ค ์คํ
useEffect(() => {
}, [state])
๐ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ
VSCode
- ES7+ React/Redux/React-Native snippets
- ๋น ํ๋ฉด์ ์ปดํฌ๋ํธ์ ๊ธฐ๋ณธ ๋ผ๋๋ฅผ ๊ตฌ์ฑํด์ฃผ๋ ์ต์คํ ์
๐ ์ค๋ ๋๋ ์ & ๋ง์ ๊ฐ์ง
- ์ต์คํ ์ ์๋ ํธ๋ฆฌํ ๊ฒ์ด ๋ง๋ค. ํ์ง๋ง ์ด๊ฒ์ ์๋ ์ ๊ฒ์ด ๋ ์ ์๋ค. ์ต์คํ ์ ์ด ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์๋๋ก ๊ธฐ๋ณธ๋ผ๋๋ฅผ ์ ํํ ์์๋ณด์!
- ๋ค์ํ HOOK์ ๋ํด์ ๊ณต๋ถํด๋ณด์! ๋๋ฌด ํธ๋ฆฌํ๋ค.
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.06.16_TIL (0) | 2022.06.16 |
---|---|
22.06.15_TIL (0) | 2022.06.15 |
22.06.13_TIL (0) | 2022.06.13 |
22.06.11_TIL (4) | 2022.06.11 |
22.06.10_TIL (0) | 2022.06.10 |