React useMemo Hook
useMemo Hook
useMemo
Hook keshga olinadigan qiymatni qaytaradi.
Keshga olishni hisoblashning qayta ishlanishi shart bo'lmagan qiymatlarni saqlash kabi tasavvur qilishingiz mumkin.
useMemo
Hook faqatgina uning bog'liqliklaridan biri yangilanganda ishga tushadi.
Bu samaradorlikni oshirishi mumkin.
useMemo
va useCallback
Hooks o'xshash. Asosiy farq shundaki, useMemo
keshga olinadigan qiymatni qaytaradi, useCallback
esa keshga olinadigan funksiyani qaytaradi. useCallback
haqida ko'proq ma'lumot olish uchun useCallback
bo'limiga qarang.
Samaradorlik
useMemo
Hook qimmatli va resurs talab qiladigan funksiyalarni keraksiz qayta ishga tushishdan saqlash uchun ishlatilishi mumkin.
Misolda, har bir qayta chizish vaqtida ishga tushadigan qimmatli funktsiya mavjud.
count
yoki todo
qo'shishni o'zgartirganda, siz bajarilishdagi kechikishni sezishingiz mumkin.
Misol
Yomon ishlash funksiyasi. expensiveCalculation
funksiyasi har bir qayta chizishda ishga tushadi:
index.js
useMemo
ishlatish
Bu samaradorlik muammosini tuzatish uchun useMemo
Hook-dan foydalanib, expensiveCalculation
funksiyasini keshga olish mumkin. Bu funksiya faqat kerak bo'lganda ishga tushadi.
Qimmatli funktsiya chaqiruvini useMemo
bilan o'ralgan holda bo'lishi mumkin.
useMemo
Hook ikkinchi parametr sifatida bog'liqliklarni e'lon qilish uchun foydalaniladi. Qimmatli funktsiya faqat uning bog'liqliklari o'zgarganda ishga tushadi.
Quyidagi misolda, qimmatli funksiya faqat count
o'zgarganda ishga tushadi va todos
qo'shishda ishga tushmaydi.
Misol:
index.js
Endi qimmatli funksiya faqat count
o'zgarganda ishga tushadi.