useMemo
๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด, ๋ฆฌ๋ ๋๋ง ๋ ๋๋ง๋ค ์ ์ฒด๊ฐ ๋์ํ๊ธฐ ๋๋ฌธ์ ๋ถํ์ํ ๋ถ๋ถ๋ ๊ณ์ ์คํ๋ฉ๋๋ค.
๋ณ์ ๊ฐ์ด ๋์ผํ๊ฑฐ๋ ๋ฆฌ๋ ๋๋ง ๋ ๋๋ง๋ค ์คํ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ ์ ์์ผ๋,
Hook์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ์ ์ฅํด ๋๊ณ , ํ์ํ ๋๋ง ๊ฐฑ์ ํ ์ ์๋๋ก ํฉ๋๋ค.
const ๋ณ์ = useMemo(()⇒{}), [deps]);
deps์ ์์กด์ฑ์ ๋ถ์ฌํ์ฌ ํด๋น ๊ฐ์ด ๋ณํ ๋ ํธ์ถํ๊ฒ ๋ฉ๋๋ค.
์ด์ ์ ์ฌ์ฉํ๋ useEffect์ ๋์ผํฉ๋๋ค.
์
๋ฐ๋ฅ์์ ์ฐ์ memo๋ inputํ๊ทธ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ ,
useMemo์์ ์๋๋ฐ test๋ ๋ฒํผ์ ๋๋ฅผ ๋, setClick์ผ๋ก ์ธํด click๊ฐ์ด ๋ณ๊ฒฝ๋ ๋๋ง ์ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
useMemo๋ก ์ ๋ฌ๋ ํจ์๋ ๋ ๋๋ง ์ค์ ์คํ๋๋ ๊ฒ์ด๋ฉฐ, ํต์์ ์ผ๋ก ๋ ๋๋ง ์ค์๋ ํ์ง ์๋ ๊ฒ๋ค์ ํจ์ ๋ด์ ์์ฑํ์ง ๋ง์์ผ ๋ฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด, side-effect๋ useEffect์์ ์งํํด์ผ ๋๋ ๊ฒ์ด์ง useMemo์์ ํ๋ ๊ฒ ์๋๋๋ค.
๋ฆฌ๋ ๋๋ง ๋๋ฉด์ ๊ณ์ ์ด๊ธฐํ๋๊ธฐ ๋๋ฌธ์ useMemo๋ก ๊ฐ์ ์ ํด๋๊ณ , ์์กด์ฑ์ ๋ถ์ฌํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ต์ ํํฉ๋๋ค.
'Front-End > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React] Hook : useReducer (0) | 2023.06.22 |
---|---|
React] Hook : useCallback (0) | 2023.06.22 |
React] Hook : useRef (0) | 2023.06.20 |
React] Strict Mode (0) | 2023.06.20 |
React] Mount & Rerender (LifeSycle) (0) | 2023.06.20 |