useMemo는 Redux를 제공합니다
P粉845862826
2023-08-25 21:04:43
<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>
결론을 먼저 말씀드리자면, 전혀 쓸모가 없습니다.
왜?metricsState.myMetrics
只是一个取值
프로세스에는 비용이 많이 드는 계산이 포함되지 않기 때문입니다.하지만
useMemo
자체적으로도 일정량의 계산량이 소모됩니다.그래서 이건 성급한 최적화인 것 같아요
으아악useMemo
모든 렌더링을 실행하고 싶지 않은 값비싼 계산의 경우. 좋아요또는 그런 것.
megaBigArray
가 변경될 때만 이 변수를 평가합니다.귀하의 경우 코드는 렌더링할 때마다 실행되지만
useSelector
렌더링은 선택한 매장 섹션이 변경될 때만 트리거되어야 합니다. 그러니 그것 없이도 잘 지낼 수 있어야합니다.