Use Effect๊ฐ ์์ง ์ด๋ค ๋ ์์ธ์ง ์๋ชจ๋ฅด๊ฒ ๋ค..
๊ณต์๋ฌธ์ ํ์ธ ๊ณ ๊ณ
UseEffect = ํจ์ ์ปดํฌ๋ํธ ๋ด์์ side Effect ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
*Side Effect๋ ํจ์๊ฐ ์คํ๋๋ฉด์ ํจ์์ธ๋ถ์ ์กด์ฌํ๋ ๊ฐ์ด๋ ์ํ๋ฅผ ๋ณ๊ฒฝ์ํค๋ ํ์์ด๋ค.
ex) ํจ์๋ด์์ ์ ์ญ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝ์ํค๊ฑฐ๋ ํจ์์ธ๋ถ ๋ฒํผ์ ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ๊ณ ,
๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ก์ ํ๋ ๊ฒ๋ฑ์ด ์๋ค.
ํจ์๋ ์ ๋ฌ๋ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ์ฐ์ฐ์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผํ๋ฉฐ ๊ฒฐ๊ณผ๋ ํญ์ ์ผ๊ด๋๊ณ ์์ธก ํ ์์์ด์ผํ๋ค.
๊ทธ๋์ผ ํ๋ก๊ทธ๋จ์ด ์ฝ๊ณ ๋จ์ํ๋ฉฐ ์ ์ง๋ณด์ ํ๊ธฐ๊ฐ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฆฌ์กํธ์๋ ์ ์ฐจํ ํ๋ก๊ทธ๋๋ฐ์์ ํํ ์กด์ฌํ๋ ์์ ์ธ Side Effect ์ฒ๋ฆฌ๋ฅผ ์ํด Use Effect() ํจ์๊ฐ ์๋ค.
์์๋ฅผ ํ์ฉํด ์์๋ณด์๋ฉด (์ถ์ฒ : https://dmitripavlutin.com/react-useeffect-explanation/)
์ ์ ๊ฒฝ์ฐ ํจ์์์ name์ผ๋ก ํจ์๋ฐ์ document.title ์ ๋ณ๊ฒฝ์ํค๊ณ ์๋ค.
์ด๊ฒ์ ํจ์์ธ๋ถ์ ์ํธ ์์ฉํ๋ side effect ์ฝ๋์ด๋ค.
์ด๋ฐ ๊ฒฝ์ฐ Use Effect()๋ฅผ ์ฌ์ฉํ์ฌ name์ ๊ฐ์ด ๋ณํ ๋์ document.title ์ ์๋กญ๊ฒ ๋ ๋๋ง ํด์ค๋ค.
๋ํ, ์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด Use Effect()๊ฐ ์ ์ ํ ๋์ ์์ ์ ์ํํด์ฃผ๊ธฐ ๋๋ฌธ์ ํจ์ํ ์ปดํฌ๋ํธ๊ฐ ๋น ๋ฅด๊ฒ ๋ ๋๋ง ๋ ์์๊ฒ
๋์์ฃผ๋ฉฐ, ๊ฐ๋ฐ์๋ค์ ๋ฆฌ์กํธ์ ์ ํํ ๋ ๋๋ง ์์ ์ ์์์์ด ํต์ ํ๊ธฐ๊ฐ ์์ํด ์ง๋๋ค.
useEffect (callback [, dependencies]);
to be continue....
'TIL -์ผ๊ฐํ์ต๊ธฐ๋ก > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Use effect ์ defendency array ์ ๋ํ์ฌ (0) | 2022.05.23 |
---|---|
Stateairline-client ๊ณผ์ (0) | 2022.02.09 |
Weather API & data component (0) | 2022.02.05 |
[React ์์ต์] Tic Tac Toe.. (0) | 2022.02.03 |
[TodoList]create react app ์ค์น (0) | 2022.01.30 |
๋๊ธ