Мемоізація це метод оптимізації комп'ютерних програм шляхом збереження результатів викликів функції та повернення кешованого результату при повторенні тих самих вхідних даних. Мемоізована функція «запам'ятовує» результат обчислень відповідний набору аргументів. Наступні виклики з такими самими значеннями аргументів повертають запам'ятаний результат, а не перераховують його.
Хук useMemo приймає два аругменти:
const memoizedValue = useMemo(() => {
return a + b;
}, [a, b]);
const App = () => {
const [planets, setPlanets] = useState(["Earth", "Mars", "Jupiter", "Venus"]);
const [query, setQuery] = useState("");
const filteredPlanets = planets.filter(planet => planet.includes(query));
return (
<ul>
{filteredPlanets.map(planet => (
<li key={planet}>{planet}</li>
))}
</ul>
);
};