[๊ธฐ์ˆ ๋ฉด์ ‘] useEffect

2023. 8. 29. 19:15ใ†๐Ÿ–ฅ๏ธ CS(Computer Science)/์†Œํ”„ํŠธ์›จ์–ด

useEffect

: ์™ธ๋ถ€์ปดํฌ๋„ŒํŠธ(react์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค)๋ฅผ ๋™๊ธฐํ™” ์ž‘์—… ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฆฌ์•กํŠธ ํ›…!

  • ์‚ฌ์šฉ: useEffect(setup, dependencies?)
    • setup: ์ปดํฌ๋„ŒํŠธ๊ฐ€ mount ๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜, ํ•„์š”ํ•˜๋‹ค๋ฉด cleanup ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.
      ์ดํ›„์— dependencies๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์ด rendering ๋  ๋•Œ๋งˆ๋‹ค cleanup func ์‹คํ–‰ ํ›„ setup func๋ฅผ ์‹คํ–‰ํ•จ.
      ์ปดํฌ๋„ŒํŠธ๊ฐ€ unmount ๋  ๋•Œ cleanup func๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹คํ–‰๋จ.
  • dependencies?: ํ•„์ˆ˜๋กœ ํฌํ•จ์‹œ์ผœ์•ผ ํ•˜์ง€๋Š” ์•Š์Œ, ์—†์„ ๊ฒฝ์šฐ component๊ฐ€ ๋ฆฌ๋žœ๋”๋ง ๋  ๋•Œ ๋งˆ๋‹ค setup์ด ํ˜ธ์ถœ๋˜์–ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Œ
                 ํฌํ•จ์‹œํ‚ฌ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์ด ๋ณ€ํ•  ๋•Œ๋งŒ setup func๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์— ๋„์›€์ด ๋จ.

์ ์šฉ

  • ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ ์—ฐ๊ฒฐ
  • ์ปค์Šคํ…€ํ›… ๊ตฌ์„ฑ
  • ๋ฆฌ์•กํŠธ๋กœ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ widget ์ œ์–ด
  • ๋ฐ์ดํ„ฐ fetching

Reference: https://react.dev/reference/react/useEffect#usage