Sobes.tech
Back to questions
Senior
3

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

Companies where asked
Type

Answer from AI

sobes.tech AI

Чтобы замемоизировать статичный 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-блок будет вычислен один раз при монтировании компонента и не будет пересоздаваться при ререндере.