일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- BFS
- DFS
- 프로그래머스
- network
- Graph
- git
- TypeScript
- react
- Javascript
- 동적 계획법
- java
- CS
- db
- LeetCode
- Data Structure
- 리트코드
- frontend
- 자바
- Python
- DP
- 안드로이드
- VIM
- Redux
- Database
- 백준
- vscode
- Algorithm
- 알고리즘
- 다이나믹 프로그래밍
- 그레이들
Archives
- Today
- Total
늘 겸손하게
React 앱 성능 최적화 4 - useCallback 본문
목차
useCallback
useCallback은 리액트 최적화에 사용되는 기능 중 하나입니다. useCallback이 필요한 이유는 컴포넌트가 렌더링 될 때 그 안에 있는 함수도 다시 만들게 됩니다. 하지만 똑같은 함수가 컴포넌트가 리렌더링 될 때마다 다시 생성되는 것은 낭비입니다. 그리고 만약 함수를 자식 컴포넌트에 props로 내려준다면 함수를 포함하고 있는 컴포넌트가 리렌더링 될 때마다 자식 컴포넌트도 함수가 새로 만들어지니 리렌더링을 하게 됩니다.
이러한 무분별한 리렌더링을 최소화하기 위해 함수를 최적화하는 기능이 바로 useCallback입니다.
사용법
useCallback 적용은 useCallback 안에 콜백함수와 의존성 배열을 순서대로 넣어주면 됩니다. 함수 내부에서 참조하는 state, props가 있다면 의존성 배열에 추가해야 합니다.
// 첫 번째 인자 : 함수, 두 번째 인자 : 의존성 배열
const sample = useCallback(() => {}, [])
'Toy Projects 기록 > Korea Crime Graph' 카테고리의 다른 글
vscode csv 파일 데이터 깨짐 (0) | 2023.10.25 |
---|---|
github page 배포 환경에서 환경변수 설정 (1) | 2023.10.24 |
React 앱 성능 최적화 3 - React.memo (0) | 2023.10.23 |
React 앱 성능 최적화 1 - React Developer Tools 확장 프로그램 설치 (0) | 2023.10.23 |
create-react-app env 파일 undefined로 읽히는 문제 (0) | 2023.10.17 |