Senior
Jak memoizovat statický JSX blok uvnitř komponenty bez jeho vyčlenění do samostatné komponenty? Jaký je potřeba pole závislostí?
sobes.tech AI
Odpověď od 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-блок будет вычислен один раз при монтировании компонента и не будет пересоздаваться при ререндере.