728x90
useMemo는 상태가 변했는 지를 확인하여 상태가 변하지 않았으면 함수를 실행하지 않게 만드는 랜더링 최적화 방법이다.
import { useMemo } from "react";
const getDiaryAnalysis = useMemo(() => {
console.log("useMemo 시작");
const goodCount = data.filter((it) => it.emotion >= 3).length;
const badCount = data.length - goodCount;
const goodRatio = (goodCount / data.length) * 100;
return { goodCount, badCount, goodRatio };
}, [data.length]);
deps에 data.length 배열을 넣어주면 data.length가 변하지 않으면 함수를 실행하지않고 return하게 된다.
728x90
'Web > React' 카테고리의 다른 글
[React] useReducer 컴포넌트에서 상태변화 로직 분리 (0) | 2023.04.24 |
---|---|
[React] Reac.memo 함수형 컴포넌트 업데이트 조건 적용방법 (0) | 2023.04.21 |
[React] Lifecycle 생애주기 및 사용방법 (0) | 2023.04.21 |
[React] 포커스 이벤트 주기 import { useRef } (0) | 2023.04.20 |
[React] 사용자 입력 처리 import { useState } (0) | 2023.04.20 |