티스토리 뷰
[React] useMemo 사용이유와 코드예시
* useMemo 가 하는일
> 연산결과를 memoization한다.
> 의존값이 바뀌었을 때만 연산을 실행하고, 값이 바뀌지 않았다면 연산을 실행하지 않는다.
> 의존값이 바뀌지 않았을 경우, 이전에 저장해둔 값을 사용한다.
* useMemo 를 사용하는 이유와 주의점
> 사용이유 : 렌더링시에 불필요한 계산을 막아줌으로써, 성능을 최적화 해준다.
> 주의점 : meoization과정 자체에서 리소스가 발생하므로, 부적절하게 사용할 경우 오히려 성능을 악화시킬 수 있다.
* useMemo 예시코드
// useMemo(callback,[depth]) 의존값을 depth에 넣어준다.
// depth의 값이 바뀔때 마다, 이전에 캐싱된값과 비교해 값이 다를경우 callback함수를 실행시켜준다.
const getSum = useMemo(() => {
const sum = list.reduce((a, b) => a + b);
return sum / list.length;
}, [list]);
'개발일기 > REACT' 카테고리의 다른 글
[React] React 커스텀 hooks 만들어서 반복되는 코드 줄이기. (0) | 2022.02.24 |
---|---|
[React] useCallback 사용이유와 코드예시 (0) | 2022.02.23 |
[REACT] REACT Formdata에 이미지파일 여러개 넣기 (0) | 2022.02.20 |
[React] React Hooks - useEffect() 를 활용한 렌더링 관리. (0) | 2022.02.19 |
[React] React, HTML 에서 dataset을 활용해 Dom요소에 값 저장하기 (0) | 2022.02.19 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 전력공학
- 개더타운
- KEC반영
- nextjs
- cbt
- JavaScript
- gathertown
- 실기CBT
- dummydata
- 전기기사실기CBT
- 전기기사 필기
- 게더타운
- 산업안전기사
- 전기기사
- 전기산업기사
- TS
- 전기공사기사
- fakerjs
- 산업안전기사 실기
- shortid
- 게더타운맵
- React
- 모두CBT
- TypeScript
- zep
- 산안기 합격률
- 전기기기
- 전자기학
- 전기기사실기단답
- 전기기사필기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함