Redux を初めて使用するので、Web アプリケーションのパフォーマンスを最大化したいと考えています。
redux には状態があり、後で表示するために変数に保存します。
これはコードです:
constmetricsState = useSelector((state: MetricsStateObject) => state.MetricsState); const myMetrics =metricState.myMetrics;
データが変更されていない場合、useMemo は再レンダリングを行わないことでパフォーマンスが向上することがわかりました。
それで、const myMetrics = useMemo(() =>metricsState.myMetrics, [metricsState.myMetrics]);
が良い習慣なのか、それともまったく役に立たないのか疑問に思っています。 ?
お時間をいただきありがとうございます。
結論から言いますと、全然ダメです。
なぜ?metricsState.myMetrics
は単なるvalue
プロセスであり、高価な計算を必要としないためです。ただし、
useMemo
自体はある程度の計算量を消費します。したがって、これは時期尚早な最適化だと思います
または同様のもの。この変数は、useMemo
すべてのレンダリングを実行したくない、高コストの計算に使用します。のように### リーリーmegaBigArray
あなたの場合、コードはとにかくレンダリングごとに実行されますが、が変更された場合にのみ評価します。
useSelector
は、選択したストアの一部が変更された場合にのみレンダリングをトリガーする必要があります。したがって、それがなくても問題なく過ごせるはずです。