Назад к вопросам
Middle
4
Какие есть способы оптимизации производительности в React?
Компании, где спрашивали
А7-Технологии
Ответ от нейросети
sobes.tech AI
Для оптимизации производительности в React можно использовать следующие подходы:
- Мемоизация компонентов с помощью
React.memoдля предотвращения лишних перерисовок. - Использование хуков
useMemoиuseCallbackдля кеширования вычислений и функций. - Разбиение приложения на мелкие компоненты для локализации обновлений.
- Ленивую загрузку компонентов (
React.lazyиSuspense) для уменьшения времени первоначальной загрузки. - Оптимизация рендеринга списков с помощью
keyи виртуализации (например,react-window). - Избегание ненужных обновлений состояния и правильное управление состоянием.
Пример использования React.memo:
const Button = React.memo(({ onClick, label }) => {
console.log('Button rendered');
return <button onClick={onClick}>{label}</button>;
});
function App() {
const [count, setCount] = React.useState(0);
const increment = () => setCount(c => c + 1);
return (
<div>
<Button onClick={increment} label="Нажми меня" />
<p>Счётчик: {count}</p>
</div>
);
}
Здесь Button не будет перерисовываться, если пропсы не изменились, что экономит ресурсы.