[React] useEffect ์™€ useLayoutEffect ์˜ ์ฐจ์ด์ 

2022. 3. 22. 23:19ยท ๊ฐœ๋ฐœ/React
๋ชฉ์ฐจ
  1.  
  2. useEffect
  3. useLayoutEffect
728x90
๋ฐ˜์‘ํ˜•

 

useEffect

 

render 

  • ๋ Œ๋”(render)๊ฐ€ ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š”(paint) ํ›„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰
  • paint ๋œ ํ›„์— ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์— DOM์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ํ™”๋ฉด์˜ ๊นœ๋นก์ž„์„ ๋ณด๊ฒŒ ๋œ๋‹ค

 

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  • ์ผ๋ถ€ ์ƒํƒœ๋ฅผ ์ฆ‰์‹œ ๋ฐœ์ƒํ•  ํ•„์š”๊ฐ€ ์—†์„ ๊ฒฝ์šฐ
  • ํŽ˜์ด์ง€์— ์‹œ๊ฐ์ ์œผ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋™๊ธฐํ™” ํ•  ๊ฒฝ์šฐ
  • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ
  • ๋ชจ๋‹ฌ์ƒ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ฑฐ๋‚˜ ์‚ฌ๋ผ์งˆ ๋•Œ ์ผ๋ถ€ ์ƒํƒœ๋ฅผ ์žฌ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ

 

 

 

useLayoutEffect

 

render

  • ๋ Œ๋”๋ง ํ›„ ํ™”๋ฉด์ด ์—…๋ฐ์ดํŠธ ๋˜๊ธฐ ์ „์— ๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰
  • paint๊ฐ€ ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— DOM์„ ์กฐ์ž‘ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ์ž๋Š” ๊นœ๋นก์ž„์„ ๊ฒฝํ—˜ํ•˜์ง€ ์•Š๋Š”๋‹ค

 

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  • ์ƒํƒœ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋  ๋•Œ ์š”์†Œ๊ฐ€ ๊นœ๋ฐ•์ด๋Š” ๊ฒฝ์šฐ
  • DOM์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฒฝ์šฐ

 

 

useLayoutEffect์— ๋Œ€ํ•ด์„œ ์ง„์งœ ์ฒ˜์Œ๋“ค์–ด๋ด์„œ ๋„ˆ๋ฌด ๋‹นํ˜น์Šค๋Ÿฌ์› ๋‹ค. useEffect๋ฅผ ๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ์ง์ด ๋ณต์žกํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ ˆ์ด์•„์›ƒ์„ ๋ณด๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์–ด์„œ useEffect๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. 

 

๋ฐ์ดํ„ฐ๋ฅผ fetchํ•˜๊ฑฐ๋‚˜ event handler, state reset์˜ ์ž‘์—…์€ useEffect๋ฅผ ์‚ฌ์šฉํ•˜๋˜, ํ™”๋ฉด์ด ๊นœ๋นก๊ฑฐ๋ฆฌ๋Š” ์ƒํ™ฉ์ผ ๋•Œ๋Š” useLayoutEffect๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค. 

 

 

 

 

 

 

 

 

 

์ฐธ์กฐ ํ•™์Šต์ž๋ฃŒ

โ—พ https://medium.com/@jnso5072/react-useeffect-%EC%99%80-uselayouteffect-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C-e1a13adf1cd5

โ—พ https://hyojin96.tistory.com/entry/%F0%9F%8D%80-useEffect-VS-useLayoutEffect-%F0%9F%8D%80

728x90

'๊ฐœ๋ฐœ > React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[React] React-Query ๋ž€?  (0) 2022.03.28
[React] React Custom Hooks  (0) 2022.03.23
React vs Vue.js ์ฐจ์ด์   (0) 2022.03.02
[React] ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ Netlify๋กœ ๋ฐฐํฌํ•˜๊ธฐ  (0) 2022.02.21
[React.Js] UseState ์‚ฌ์šฉ / ๊ฐ„๋‹จํ•œ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ณ  ์ง€์šฐ๊ธฐ  (0) 2022.02.18
  1.  
  2. useEffect
  3. useLayoutEffect
'๊ฐœ๋ฐœ/React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [React] React-Query ๋ž€?
  • [React] React Custom Hooks
  • React vs Vue.js ์ฐจ์ด์ 
  • [React] ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ Netlify๋กœ ๋ฐฐํฌํ•˜๊ธฐ
๋ฐ(Ming) ๐Ÿˆโ€โฌ›
๋ฐ(Ming) ๐Ÿˆโ€โฌ›
๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Frontend Developer
๋ฐ(Ming) ๐Ÿˆโ€โฌ›
Ming devlog
๋ฐ(Ming) ๐Ÿˆโ€โฌ›
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ

๊ณต์ง€์‚ฌํ•ญ

  • About Ming ๐Ÿฐ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (261)
    • ๊ฐœ๋ฐœ (255)
      • ๐Ÿ“ TIL (58)
      • โŒ ์˜ค๋ฅ˜ ๋…ธํŠธ (23)
      • React (23)
      • Next.js (11)
      • React-Native (6)
      • JavaScript (10)
      • Flutter (19)
      • Database (1)
      • ๐Ÿ’ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (21)
      • ๐Ÿ“š English (9)
      • Etc... (25)
      • โ›ต ํ•ญํ•ด99 (49)
    • ๐Ÿ’ป Dev (6)
      • ๐Ÿ“ TIL (4)
      • ๐Ÿ’ฌ Algorithm (1)
      • Etc... (1)

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • react
  • nextjs
  • ๊ฐœ๋ฐœ์žํšŒ๊ณ 
  • Firebase
  • github
  • todaywhatidid
  • twid
  • ํ”Œ๋Ÿฌํ„ฐ
  • ๋ฆฌ์•กํŠธ
  • flutter
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • react-native
  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
  • ํ•ญํ•ด99
  • Git
  • ์ฝ”ํ…Œ
  • ReactNative
  • ์ฝ”ํ…Œ๊ณต๋ถ€
  • ์ด์ฝ”๋…ธ๋ฏธ์ŠคํŠธ
  • ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ
  • ์˜์–ด๊ณต๋ถ€
  • ๊ฐœ๋ฐœ์ž์ผ๊ธฐ
  • ์ฝ”๋”ฉ๊ณต๋ถ€
  • ๋ถ€ํŠธ์บ ํ”„
  • TIL
  • leetcode
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • ๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.1
๋ฐ(Ming) ๐Ÿˆโ€โฌ›
[React] useEffect ์™€ useLayoutEffect ์˜ ์ฐจ์ด์ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.