LeeWang_31
이왕31
LeeWang_31
전체 방문자
오늘
어제
  • 분류 전체보기 (234)
    • 프로젝트 (2)
      • 사이드 프로젝트 (2)
      • Codestates_pre_project (0)
    • 프론트엔드 (169)
      • Html (19)
      • CSS (18)
      • JavaScript (29)
      • Codestates (76)
      • 코딩노트 (27)
    • 백엔드 (10)
      • node (10)
    • 구르는 돌 🌑 (16)
      • Codestates (11)
      • 생각 (4)
      • 공부 흔적 (1)
    • 정보 (18)
      • 오류노트 (2)
      • 인텔리제이 정보 (9)
      • 깃 정보 (3)
      • 기타 정보 (4)
      • 안드로이드스튜디오 정보 (0)
    • CS (7)
      • 이론공부 (7)
    • App (6)
      • Android (3)
      • Kotlin (3)
    • 컴퓨터 수학 (5)
      • 암호론 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 안드로이드스튜디오범블비
  • 1292
  • css
  • 알고리즘
  • 코플릿
  • 파이어베이스연동
  • 사용자 친화 웹
  • 안드로이드스튜디오파이어베이스
  • React
  • DP
  • 코드스테이츠
  • linuix 코드스테이츠
  • html
  • codestate
  • 2693
  • linux
  • figjam
  • 번들링
  • 코딩애플
  • UI/UX
  • 2609
  • 생활코딩
  • 사용자친화웹
  • 백준
  • 사이드프로젝트
  • ubuntu
  • JavaScript
  • 웹팩
  • 자바스크립트
  • TODOlist

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
LeeWang_31

이왕31

[React] useCallback
프론트엔드/Codestates

[React] useCallback

2022. 11. 25. 17:28

코드스테이즈 41기 교육 내용을 정리하고 있습니다.
틀린 부분이 있으면 댓글로 알려주시면 감사하겠습니다

useCallback

useCallback 또한 useMemo와 마찬가지로 메모이제이션 기법을 이용한 Hook입니다. useMemo는 값의 재사용을 위해 사용하는 Hook이라면, useCallback은 함수의 재사용을 위해 사용하는 Hook입니다.

 

js에서 함수는 객체입니다.

js에서의 객체의 특징은 객체는 메모리에 저장할때 값을저장하는게 아니라 주소를 저장합니다.

그래서 둘의 비교했을때 false가 나옵니다.

function doubleFactory(){
    return (a) => 2 * a;
}
  
const double1 = doubleFactory();
const double2 = doubleFactory();
  
double1(8); // 16
double2(8); // 16
  
double1 === double2;  // false
double1 === double1;  // true

react도 리렌더링시 함수를 새로 만들어 호출합니다. 새로 만들어진 함수는 기존함수가 아닙니다. 그러나 useCallback을 이용하여 함수 자체를 저장해서 다시 사용하면 함수는 메모리 주소 값을 저장했다 다시 사용한다는 것과 같다고 볼수 있습니다. 따라서 React 컴포넌트 함수 내에서 다른 함수의 인자로 넘기거나 자식 컴포넌트의 prop으로 넘길 때 예상치 못한 성능 문제를 막을 수 있습니다.

 

저작자표시 (새창열림)

'프론트엔드 > Codestates' 카테고리의 다른 글

[컴퓨터 공학] 운영체제  (0) 2022.11.30
[컴퓨터 공학] 컴퓨터 구조  (0) 2022.11.30
[React] useMemo  (0) 2022.11.25
[React] Virtual DOM  (0) 2022.11.25
[HTML] 웹팩 실습 (HTML)  (0) 2022.11.24
    '프론트엔드/Codestates' 카테고리의 다른 글
    • [컴퓨터 공학] 운영체제
    • [컴퓨터 공학] 컴퓨터 구조
    • [React] useMemo
    • [React] Virtual DOM
    LeeWang_31
    LeeWang_31
    이왕 할 거면 기분 좋게

    티스토리툴바