Що таке мемоізація (memoization) в javascript?
Мемоізація (memoization) в JavaScript - це техніка оптимізації, яка полягає в збереженні результатів викликів функції для пізнішого використання. Мемоізація дозволяє уникнути повторних обчислень та покращити продуктивність програми. Ось приклад використання мемоізації в JavaScript:
function memoize(fn) {
var cache = {};
return function(...args) {
var key = JSON.stringify(args);
if (!cache[key]) {
cache[key] = fn(...args);
}
return cache[key];
};
}
var add = memoize(function(x, y) {
return x + y;
});
console.log(add(1, 2)); // 3
console.log(add(1, 2)); // 3 (збережений результат)
У цьому прикладі, ми створюємо функцію memoize
, яка зберігає результати викликів функції у кеші та повертає збережений результат, якщо він вже був обчислений. Мемоізація дозволяє уникнути повторних обчислень та покращити продуктивність програми.
Мемоізація React
Мемоізація в React - це техніка оптимізації, яка полягає в збереженні результатів викликів компонентів для пізнішого використання. Мемоізація дозволяє уникнути повторних обчислень та покращити продуктивність React-програми. Ось приклад використання мемоізації в React:
import React, { useMemo } from 'react';
function MyComponent({ data }) {
const result = useMemo(() => {
// Обчислення результату
return data.map(item => item * 2);
}, [data]);
return (
<div>
{result}
</div>
);
}
У цьому прикладі, ми використовуємо хук useMemo
для мемоізації результатів обчислень компонента MyComponent
. Хук useMemo
дозволяє зберігати результати обчислень та використовувати їх у подальших викликах компонента. Мемоізація в React допомагає уникнути повторних обчислень та покращити продуктивність програми.