Frontend/React

[React] useCallback - ์ตœ์ ํ™”

oneyenee 2024. 2. 22. 21:24

๐Ÿ’ก useCallback ?

 

useCallback์€ React.memo, useMemo์™€ ๊ฐ™์ด

memoization๊ณผ ๊ด€๋ จ๋œ ์ตœ์ ํ™” ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ๋˜๋Š” React Hook์ด๋‹ค.

 

useMemo์™€ ๋™์ผํ•˜๊ฒŒ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ์•ˆ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

โœ… ์–ธ์ œ

 

์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง์œผ๋กœ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ•จ์ˆ˜๊ฐ€ ์žฌ์ƒ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ,

ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

โœ… ์–ด๋–ป๊ฒŒ?

 

const function1 = useCallback(() => {} , [/* ์˜์กด์„ฑ ๋ฐฐ์—ด */] );

 

์˜์กด์„ฑ ๋ฐฐ์—ด์— ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๋ฉด,

๋ฐฐ์—ด ๋‚ด๋ถ€์˜ ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ ๋งˆ๋‹ค useCallback์˜ ์ฒซ ๋ฒˆ์งธ ์ธ์ž์ธ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด memoization๋œ ํ•จ์ˆ˜๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

 

 

โ— ์ฃผ์˜

 

์˜์กด์„ฑ ๋ฐฐ์—ด์— ๋นˆ ๋ฐฐ์—ด์„ ์ „๋‹ฌํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ์— mount ๋˜๋Š” ์‹œ์ ์— ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰๋œ๋‹ค.

 

 

 

 

 

 

useMemo, React.memo์™€ ํ•จ๊ป˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์“ฐ์ด๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ํ•จ๊ป˜ ๋น„๊ตํ•ด๋ด๋„ ์ข‹๋‹ค.

https://oneyenee.tistory.com/48

 

[React] React.memo์™€ useMemo์˜ ์ฐจ์ด

๐Ÿ’ก Memoization ์ด๋ฏธ ๊ณ„์‚ฐ ํ•ด ๋ณธ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์–ตํ•ด, ์žฌ์—ฐ์‚ฐํ•˜์ง€ ์•Š๊ณ  ํ•„์š”๋กœ ํ•  ๋•Œ ๊ธฐ์–ตํ•ด๋‘” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์—ฐ์‚ฐ๊ณผ์ •์„ ์ตœ์ ํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์˜ค๋Š˜ ํฌ์ŠคํŒ… ํ•  React

oneyenee.tistory.com