>  Q&A  >  본문

useMemo는 Redux를 제공합니다

<p>저는 Redux를 처음 사용하며 웹 애플리케이션의 성능을 최대화하고 싶습니다. </p> <p>나중에 표시하기 위해 변수에 저장하는 상태가 redux에 있습니다. </p> <p>코드는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">constmetricsState = useSelector((state: MetricsStateObject) => state.MetricsState); const myMetrics =metricState.myMetrics;</pre> <p>useMemo는 데이터가 변경되지 않은 경우 다시 렌더링하지 않음으로써 성능을 향상시키는 것을 발견했습니다. </p> <p>그래서 <code>const myMetrics = useMemo(() =>metricsState.myMetrics, [metricsState.myMetrics]);</code>가 좋은 습관인지 아니면 전혀 쓸모가 없는지 궁금합니다. ? </p> <p>시간을 내주셔서 감사합니다. </p>
P粉845862826P粉845862826392일 전569

모든 응답(2)나는 대답할 것이다

  • P粉146080556

    P粉1460805562023-08-26 16:13:29

    결론을 먼저 말씀드리자면, 전혀 쓸모가 없습니다.

    왜? metricsState.myMetrics只是一个取值 프로세스에는 비용이 많이 드는 계산이 포함되지 않기 때문입니다.

    하지만 useMemo 자체적으로도 일정량의 계산량이 소모됩니다.

    그래서 이건 성급한 최적화인 것 같아요

    회신하다
    0
  • P粉726133917

    P粉7261339172023-08-26 09:26:32

    useMemo 모든 렌더링을 실행하고 싶지 않은 값비싼 계산의 경우. 좋아요

    으아악

    또는 그런 것. megaBigArray가 변경될 때만 이 변수를 평가합니다.

    귀하의 경우 코드는 렌더링할 때마다 실행되지만 useSelector 렌더링은 선택한 매장 섹션이 변경될 때만 트리거되어야 합니다. 그러니 그것 없이도 잘 지낼 수 있어야합니다.

    회신하다
    0
  • 취소회신하다