저는 Redux를 처음 사용하며 웹 애플리케이션의 성능을 최대화하고 싶습니다.
나중에 표시하기 위해 변수에 저장하는 상태가 redux에 있습니다.
코드는 다음과 같습니다.
constmetricsState = useSelector((state: MetricsStateObject) => state.MetricsState); const myMetrics =metricState.myMetrics;
useMemo는 데이터가 변경되지 않은 경우 다시 렌더링하지 않음으로써 성능을 향상시키는 것을 발견했습니다.
그래서 const myMetrics = useMemo(() =>metricsState.myMetrics, [metricsState.myMetrics]);
가 좋은 습관인지 아니면 전혀 쓸모가 없는지 궁금합니다. ?
시간을 내주셔서 감사합니다.
결론을 먼저 말씀드리자면, 전혀 쓸모가 없습니다.
왜?metricsState.myMetrics
只是一个取值
프로세스에는 비용이 많이 드는 계산이 포함되지 않기 때문입니다.하지만
useMemo
자체적으로도 일정량의 계산량이 소모됩니다.그래서 이건 성급한 최적화인 것 같아요
으아악useMemo
모든 렌더링을 실행하고 싶지 않은 값비싼 계산의 경우. 좋아요또는 그런 것.
megaBigArray
가 변경될 때만 이 변수를 평가합니다.귀하의 경우 코드는 렌더링할 때마다 실행되지만
useSelector
렌더링은 선택한 매장 섹션이 변경될 때만 트리거되어야 합니다. 그러니 그것 없이도 잘 지낼 수 있어야합니다.