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 | 31 |
Tags
- styledcomonents
- 초기값 설정하기
- 머신러닝
- 백준
- 리액트
- 구조분해할당
- 코딩테스트
- TS
- 백준 #코딩테스트
- 혼자공부하는머신러닝딥러닝
- 혼공챌린지
- CSS
- reactmemo
- Redux
- 딥러닝
- axios
- REACT
- 혼공머신
- 백준 #코딩테스트 #코테 #알고리즘
- 알고리즘
- 혼자공부하는머신러닝
- js
- useEffect
- 유니티 #게임개발
- 에러해결방안
- 혼공단
- clipboardapi
- error맛집
- typeScript
- 타입스크립트
Archives
- Today
- Total
좌충우돌 개발자의 길
[React] 리액트로 성능 개선하기2. - useCallback과 React.memo 본문
1. 리액트에서 성능 개선을 해보자
useMemo에 이어서...
2. useCallback
- 함수를 memorization하기 위해 사용
2-1. useCallback의 장점
리액트 컴포넌트 아넹 함수가 선언되면, 컴포넌트가 렌더링 될 때마다 새로 생성된다.
하지만 useCallback을 사용하면 컴포넌트가 렌더링 되어도 의존성 배열에서 참조한 값이 변경되지 않으면 새롭게 생성되지 않는다.
2-2. useCallback의 구조
- 첫번째 인자 : 콜백함수
- 두번재 인자 : 의존성 배열로 배열 내의 갑싱 변경될 때까지 함수를 저장해노혹 재사용할 수 있도록 함
2-3. 주의점
자바스크립트 함수 동등성으로 값이 변화하면 부모 컴포넌트가 렌더링되고 그 값을 전달받은 자식 컴포넌트도 렌더링된다. 이러헥 두번 렌더링되는 것을 방지하기 위해서 useCallback과 React.memo를 사용하여 방지할 수 있다.
관련 코드는 출처에 들어가면 볼 수 있다.
3. 출처
https://velog.io/@seongmini/React-Hooks
4. 도움이 된 게시글
https://velog.io/@hang_kem_0531/useMemo%EC%99%80-useCallback%EC%9D%98-%EC%B0%A8%EC%9D%B4