Memoization är en optimeringsteknik som används i React för att förbättra prestandan av applikationer. Detta uppnås genom att undvika onödiga beräkningar eller render. I React-ekosystemet finns det tre huvudsakliga verktyg för memoization: React.memo, useMemo och useCallback.
React.memo är en högre ordningens komponent som omsluter en funktionell komponent och endast tillåter den att omrenderas när dess props ändras.
const MyComponent = React.memo((props) => {
// Komponentlogik här
});
useMemo är en hook som returnerar ett memoriserat värde. Den tar en “skaparfunktion” och en beroendelista.
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
useCallback är en hook som returnerar en memoriserad version av en callback-funktion. Den tar en funktion och en beroendelista.
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);