๐ก 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
'Frontend > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Recoil] Recoil persist ์ฌ์ฉ๋ฒ (0) | 2024.08.29 |
---|---|
[React] React.memo์ useMemo์ ์ฐจ์ด (0) | 2024.02.17 |
[React] Component์ ์๋ช ์ฃผ๊ธฐ - useEffect (1) | 2024.02.06 |
[React] Props๋? PropTypes๋ก ํ์ ์ฒดํฌํ๊ธฐ (1) | 2023.12.17 |
[React] ๋ฆฌ์กํธ ์ปดํฌ๋ํธ(Component) - ํจ์ํ VS ํด๋์คํ ๋น๊ต (1) | 2023.12.17 |