최적화 1 - useMemo

Heechang Jeong·2023년 5월 2일
0
post-thumbnail

✍ 복습 자료

  • Memoization

    이미 계산 해 본 연산 결과를 기억해 두었다가 동일한 계산을 시키면, 다시 연산하지 않고 기억해 두었던 데이터를 반환시키는 방법
// data의 길이가 변할 때만 연산 최적화
  const getDiaryAnalysis = useMemo(() => {
    console.log("일기 분석 시작");

    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]);

  // useMemo로부터 값을 반환 받기 때문에 함수를 호출하면 안 된다.
  const { goodCount, badCount, goodRatio } = getDiaryAnalysis;
  • 일기를 수정할 때는 최적화하지 않는다.


  • data의 길이가 변할 때 연산 최적화


0개의 댓글