Not: Her component için memoization kullanmak mantıklı değil. Özellikle ağır ve genelde aynı verilerle render olan bileşenlerde kullanmak en uygunudur.
Ne İşe Yarar?
Component’i sararak, prop’ları değişmediği sürece yeniden render olmasını engeller.
Ne Zaman Kullanılır?
Yavaş render olan, büyük veya statik component’ler için (örn. Archive component).
import { memo } from 'react';
const Archive = memo(({ items }) => {
return <div>{items.join(', ')}</div>;
});
Ne İşe Yarar?
Hesaplaması pahalı değerleri veya objeleri önbelleğe alır. Dependency array içindekiler değişmediği sürece, eski değer geri döner.
Ne Zaman Kullanılır?
const archiveOptions = useMemo(() => {
return computeHeavyOptions(items);
}, [items]);
Ne İşe Yarar?
Fonksiyonları önbelleğe alır, alt bileşenlere prop olarak gönderildiğinde memo ile gereksiz render’ı önler.
Ne Zaman Kullanılır?
Alt component memo ile sarılıysa ve prop olarak fonksiyon gönderiyorsanız.