Как замемоизировать статичный JSX-блок внутри компонента без вынесения в отдельный компонент? Какой массив зависимостей нужен?

Чтобы замемоизировать статичный JSX-блок внутри компонента без вынесения в отдельный компонент, можно использовать хук useMemo из React.

Короткий ответ

Что ответить на собеседовании

Чтобы замемоизировать статичный JSX-блок внутри компонента без вынесения в отдельный компонент, можно использовать хук useMemo из React.

Подробный разбор

Ответ с пояснениями

Чтобы замемоизировать статичный JSX-блок внутри компонента без вынесения в отдельный компонент, можно использовать хук useMemo из React.

Пример:

import React, { useMemo } from 'react';

function MyComponent() {
  const staticBlock = useMemo(() => (
    <div>
      <h1>Статичный заголовок</h1>
      <p>Этот блок не зависит от пропсов и состояния.</p>
    </div>
  ), []); // Пустой массив зависимостей

  return (
    <div>
      {staticBlock}
      {/* Другой JSX */}
    </div>
  );
}

Здесь массив зависимостей пустой ([]), так как блок статичен и не зависит от внешних данных. Это гарантирует, что JSX-блок будет вычислен один раз при монтировании компонента и не будет пересоздаваться при ререндере.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку