๋ชฉ๋ก
- Introduction
- useCallback
- Conclusion
๐ Introduction
์๋ ํ์ธ์. ์ค๋์ react์์ useCallback์ ์ฌ์ฉํด์ ์๋ก์ด ํจ์๋ฅผ ์ ์ธ์ ํ๊ธฐ๋ณด๋ค ์ฌ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์๋ ค๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.
๐ useCallback
๋ง์ฝ ์ด๋ฐ ํจ์๊ฐ ์ปดํฌ๋ํธ ๋ด๋ถ์ ์๋ค๊ณ ๊ฐ์ ์ ํด๋ณผ๊ฒ์.
const onToggle = (userId) => {
setUsers(
users.map((user) =>
user.id === userId ? { ...user, active: !user.active } : user
)
);
};
๊ทธ๋ ๋ค๋ฉด ์์ ์๋ onToggle์ ์ปดํฌ๋ํธ๊ฐ ๋๋๋ง์ด ๋ ๋๋ง๋ค ๋ค์ ์ ์ธ์ ํด์ฃผ๊ฒ ๋ ๊ฑฐ ์์. ํ์ง๋ง ์์ ํฌ์คํ ์ useMemo์ ๊ฐ์ด ์ด๋ ๊ฒ ํด์ค์ ์์ต๋๋ค.
const onToggle = useCallback(
(userId) => {
setUsers(
users.map((user) =>
user.id === userId ? { ...user, active: !user.active } : user
)
);
},
[users]
);
useMemo๋์ ๋์ผํ๊ฒ ์ด์ onToggle์ users๊ฐ ๋ณํํ ๋๋ง ์ ์ธ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ์ฌ์ฌ์ฉํ๊ฒ ๋ ๊ฑฐ ์์.
๐ Conclusion
์ด๋ ๊ฒ useCallback์ ๋ํด์ ์์๋ณด์์ต๋๋ค. ์ค์ ๋ก ์ด๋ ๊ฒ ํด๋ ํฐ ๋ณํ๋ ์์๊ฑฐ์์. ํ์ง๋ง ์ด์ ๋ค์์ ๋์ฌ React.memo๋ฅผ ์์ ๋ค๋ฉด ์ข๋ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ผ ๋ค์ ํฌ์คํ ์์ ๋ง๋์ ์๋ !
'React Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React - useReducer (0) | 2020.12.13 |
---|---|
React - React.memo (0) | 2020.12.07 |
React - useMemo (0) | 2020.12.06 |
React - useEffect (0) | 2020.12.05 |
React - ๋ฐฐ์ด ์กฐ์ํ๊ธฐ (0) | 2020.12.05 |