useMemo menyediakan Redux
P粉845862826
2023-08-25 21:04:43
<p>Saya baru menggunakan Redux dan saya ingin memaksimumkan prestasi aplikasi web saya. </p>
<p>Saya mempunyai keadaan dalam redux yang saya simpan dalam pembolehubah untuk dipaparkan kemudian. </p>
<p>Ini ialah kod: </p>
<pre class="brush:php;toolbar:false;">constmetricsState = useSelector((state: MetricsStateObject) => state.MetricsState);
const myMetrics =metricState.myMetrics;</pre>
<p>Saya mendapati useMemo meningkatkan prestasi dengan tidak memaparkan semula jika data tidak berubah. </p>
<p>Jadi saya tertanya-tanya jika <code>const myMetrics = useMemo(() =>metricsState.myMetrics, [metricsState.myMetrics]);</code> ? </p>
<p>Terima kasih atas masa anda. </p>
Biar saya beritahu anda kesimpulannya dahulu, ia langsung tidak berguna.
kenapa? Kerana prosesmetricsState.myMetrics
只是一个取值
tidak melibatkan pengiraan yang mahal.Tetapi
useMemo
sendiri menggunakan jumlah pengiraan tertentu.Jadi saya rasa ini pengoptimuman pramatang
useMemo
Untuk pengiraan mahal di mana anda tidak mahu menjalankan setiap render. Sukaatau sesuatu seperti itu. Anda hanya menilai pembolehubah ini apabila
megaBigArray
berubah.Dalam kes anda, kod akan dijalankan pada setiap pemaparan, tetapi
useSelector
pemaparan hanya boleh dicetuskan apabila bahagian kedai yang anda pilih berubah. Jadi anda sepatutnya boleh bertahan dengan baik tanpanya.