Sobes.tech
Junior — Middle
74

React-те класс негізіндегі және функционалды компоненттер арасындағы негізгі айырмашылықтар қандай, олардың артықшылықтары мен кемшіліктері қандай?

AI-дан жауап

sobes.tech AI

Классовые компоненты в 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>
  );
}

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