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
- styledcomonents
- 초기값 설정하기
- CSS
- 딥러닝
- axios
- 혼자공부하는머신러닝
- 백준 #코딩테스트
- 에러해결방안
- clipboardapi
- 혼공머신
- 유니티 #게임개발
- 타입스크립트
- 혼공단
- 백준
- error맛집
- 알고리즘
- REACT
- 리액트
- js
- Redux
- 혼공챌린지
- 코딩테스트
- 혼자공부하는머신러닝딥러닝
- typeScript
- 백준 #코딩테스트 #코테 #알고리즘
- 머신러닝
- 구조분해할당
- TS
- useEffect
- reactmemo
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
[React] Hooks
리액트를 활용하여 프론트 개발을 할 때, 두 가지 방법을 사용할 수 있다. 하나는 클래스형 컴포넌트를 사용하는 것이고, 다른 하나는 함수형 컴포넌트를 사용하는 것이다. 과거에는 클래스형
velog.io
4. 도움이 된 게시글
https://velog.io/@hang_kem_0531/useMemo%EC%99%80-useCallback%EC%9D%98-%EC%B0%A8%EC%9D%B4
useMemo와 useCallback의 차이
React Hooks에 대해 공부하면서 useMemo와 useCallback의 차이에 대해 궁금증이 생기게 되었다.
velog.io