useMemo fournit Redux
P粉845862826
2023-08-25 21:04:43
<p>Je suis nouveau sur Redux et j'aimerais maximiser les performances de mon application Web. </p>
<p>J'ai un état en redux que je stocke dans une variable pour l'afficher plus tard. </p>
<p>Voici le code : </p>
<pre class="brush:php;toolbar:false;">constmetricsState = useSelector((state: MetricsStateObject) => state.MetricsState);
const mesMetrics =metricState.myMetrics;</pre>
<p>J'ai constaté que useMemo améliore les performances en ne restituant pas si les données n'ont pas changé. </p>
<p>Je me demande donc si <code>const myMetrics = useMemo(() =>metricsState.myMetrics, [metricsState.myMetrics]);</code> ? </p>
<p>Merci pour votre temps. </p>
Laissez-moi d'abord vous dire la conclusion, c'est complètement inutile.
Pourquoi? Parce que le processusmetricsState.myMetrics
只是一个取值
n’implique pas de calculs coûteux.Mais
useMemo
lui-même consomme une certaine quantité de calcul.Je pense donc que c'est une optimisation prématurée
useMemo
Pour les calculs coûteux où vous ne souhaitez pas exécuter chaque rendu. J'aimeou quelque chose comme ça. Vous n'évaluez cette variable que lorsque
megaBigArray
change.Dans votre cas, le code s'exécutera de toute façon à chaque rendu, mais
useSelector
le rendu ne devrait être déclenché que lorsque la section du magasin que vous avez sélectionnée change. Vous devriez donc pouvoir vous en passer très bien.