Junior — Middle
86
Quelles sont les principales différences entre les composants de classe et les composants fonctionnels en React, et quels sont leurs avantages et inconvénients?
Réponse de l'IA
sobes.tech IA
Классовые компоненты в React — это компоненты, основанные на ES6 классах, которые имеют собственный state и жизненный цикл через методы вроде componentDidMount. Функциональные компоненты — это функции, которые возвращают JSX. С появлением хуков функциональные компоненты могут управлять состоянием и побочными эффектами.
Преимущества функциональных компонентов:
- Проще и короче писать
- Легче тестировать
- Используют хуки для управления состоянием и эффектами
- Меньше проблем с this
Недостатки классовых компонентов:
- Более громоздкий синтаксис
- Сложнее работать с this
Пример функционального компонента с хуком useState:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Счётчик: {count}</p>
<button onClick={() => setCount(count + 1)}>Увеличить</button>
</div>
);
}
Таким образом, функциональные компоненты сейчас предпочтительнее для новых проектов.