Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 구조분해할당
- axios
- 유니티 #게임개발
- typeScript
- useEffect
- 리액트
- CSS
- reactmemo
- REACT
- 백준 #코딩테스트 #코테 #알고리즘
- js
- error맛집
- Redux
- 초기값 설정하기
- 백준
- 혼자공부하는머신러닝
- 머신러닝
- 딥러닝
- 코딩테스트
- 알고리즘
- 혼공챌린지
- TS
- styledcomonents
- 타입스크립트
- 혼공단
- 혼자공부하는머신러닝딥러닝
- clipboardapi
- 혼공머신
- 백준 #코딩테스트
- 에러해결방안
Archives
- Today
- Total
좌충우돌 개발자의 길
[React] 리액트로 성능 개선하기 1 - useMemo 본문
1. 리액트에서 성능 개선을 해보자
성능 개선 / 최적화를 위한 기능으로 다양한 훅을 제공하고 있다.
그중에서 useMemo / useCallback / React.memo 3가지에 대해서 공부하고 정리하겠다.
2. useMemo
- memo : memorization 의 약자로 기존에 수행한 연산의 결과값을 어딘가에 저장해 두고 동일하게 입력이 들어오면 재활용하는 프로그래밍 기법이다.
2-1. useMemo의 장점 : 무거운 동작 과정을 가볍게 바꿔준다.
- 함수형 컴포넌트의 동작 과정 : 렌더링 -> Componenet 함수 호출 -> 모든 내부 변수 초기화
- useMemo 사용 후 동작 과정 : 렌더링 -> Component 함수 호출 -> Memorize 된 함수를 재사용
내부변수 초기화를 위한 함수를 호출해야한다고 할 때, 평소에는 반복적으로 실행하지만 useMemo를 쓰면 반복적으로 실행할 필요가 없다.
" 처음에 계산된 결괏값을 메모리에 저장해서 컴포넌트가 반복적으로 렌더링 되어도 이전에 계산된 값을 메모리에 꺼내와서 재사용하게 된다."
2-2. useMemo의 구조
- 첫번째 인자 : 콜백함수
- 두번재 인자 : 의존성 배열로 배열의 요소 값이 업데이트될 때만 콜백함수를 다시 호출해 memo된 값을 업데이트 해줘 다시 memo 해줌 / 빈 배열일 경우, 맨 처음 컴포넌트가 마운트 되어있을 때만 값을 계산하고 이후에는 항상 memo된 값만 꺼내와 사용
2-3. 주의점
불필요한 값까지 모두 memo하면 오히려 성능이 안좋아질 수 있다.
3. 출처
'STUDYING > React' 카테고리의 다른 글
[React] 리액트 hook 정리 (0) | 2022.10.13 |
---|---|
[React] useState의 초기값 내가 원하는 값으로 지정하기 (0) | 2022.07.24 |
[React] useEffect와 axios를 같이 사용할 때 무한루프 에러 해결하기 (0) | 2022.07.24 |
[React] onClick 안의 함수의 파라미터로 데이터 전달하기 (0) | 2022.07.22 |
[React] CORS 에러 해결 (0) | 2022.07.18 |