profile image

L o a d i n g . . .

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 사용 시 빈번하게 발생하는 오류

useMemo로 함수를 감싸고 dependency Array 를 전달 후 함수 최적화 하면
getDiaryAnalysis는 더이상 함수가아니다.
대신 useMemo로부터 값을 리턴받게된다

  const { goodCount, badCount, goodRatio } = getDiaryAnalysis();

이부분을

  const { goodCount, badCount, goodRatio } = getDiaryAnalysis;

함수가 아닌 그냥 값으로 사용한다.


이제 다시 제대로 된 값이 뜬다.

반응형
복사했습니다!