Що таке мемоізація (memoization) в javascript?

Що таке мемоізація (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 допомагає уникнути повторних обчислень та покращити продуктивність програми.

Leave a Reply

Your email address will not be published. Required fields are marked *