قبل از هرچیزی بگم این واسه مباحث پیشرفتهی پرفورمنسه، اکثر مواقع تنظیم استیت و افکت ها نتیجه رو میده به شما.
کاربرد: ذخیرهسازی نتیجه یک محاسبه سنگین تا زمانی که وابستگیها تغییر نکنن. یعنی یه تابع میگیره، حسابش میکنه، نتیجه رو نگه میداره و وقتی ریرندر داریم این دوباره ران نمیشه. فقط وقتی ران میشه که وابستگی هاش تغییر کنن و ما وابستگی ها رو میذاریم چیزایی که ممکنه نتیجه تابع رو تغییر بدن.
نحوه استفاده:
const expensiveValue = useMemo(() => {
return heavyCalculation(data);
}, [data]);اگر محاسبات سنگین نداریم استفاده ازش سود خالص نیست، خودش سربار محاسباتی داره و ممکنه استفاده ازش بدون محاسبه سنگین موجب ضرر بشه.
با React.memo فرق میکنه؛ useMemo نتیجه تابع رو کش میکنه، نه کامپوننت رو.
#react
#next
@persiandn

