Sobes.tech
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>
  );
}

Таким образом, функциональные компоненты сейчас предпочтительнее для новых проектов.