ホームページ  >  に質問  >  本文

useMemo は Redux を提供します

<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粉845862826P粉845862826443日前628

全員に返信(2)返信します

  • P粉146080556

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

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

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

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

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

    返事
    0
  • P粉726133917

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

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

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

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

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

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

    返事
    0
  • キャンセル返事