useMemo は Redux を提供します
P粉845862826
P粉845862826 2023-08-25 21:04:43
0
2
638
<p>Redux を初めて使用するので、Web アプリケーションのパフォーマンスを最大化したいと考えています。 </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粉845862826
P粉845862826

全員に返信(2)
P粉146080556

結論から言いますと、全然ダメです。

なぜ? metricsState.myMetrics は単なる value プロセスであり、高価な計算を必要としないためです。

ただし、useMemo 自体はある程度の計算量を消費します。

したがって、これは時期尚早な最適化だと思います

いいねを押す +0
P粉726133917

useMemo すべてのレンダリングを実行したくない、高コストの計算に使用します。のように### リーリー

または同様のもの。この変数は、

megaBigArray が変更された場合にのみ評価します。

あなたの場合、コードはとにかくレンダリングごとに実行されますが、

useSelector は、選択したストアの一部が変更された場合にのみレンダリングをトリガーする必要があります。したがって、それがなくても問題なく過ごせるはずです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート