Встречается на собеседованиях • сегодня

В чем разница между useMemo и useEffect

useMemo и useEffect служат разным целям в React.

useMemo используется для мемоизации (кэширования) вычислений, чтобы избежать повторных дорогостоящих вычислений при каждом рендере. Он возвращает мемоизированное значение и пересчитывает его только при изменении зависимостей.

jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

useEffect предназначен для выполнения побочных эффектов (запросы к API, подписки, ручное изменение DOM) после рендера. Он не возвращает значения, а принимает функцию с эффектом и массив зависимостей.

jsx
useEffect(() => {
  fetchData().then(data => setData(data));
}, [dependency]);

Ключевые различия:

  • useMemo — для оптимизации вычислений, синхронный.
  • useEffect — для побочных эффектов, асинхронный.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы