Встречается на собеседованиях • сегодня
В чем разница между классовыми компонентами и компонентами на React Hooks
Классовые компоненты используют ES6-классы и методы жизненного цикла (`componentDidMount`, `componentDidUpdate` и т.д.), а функциональные с хуками (`useState`, `useEffect`) работают через функции и хуки.
**Основные отличия:**
1. **Синтаксис** – классы vs функции.
2. **Состояние** – в классах через `this.state`, в хуках через `useState`.
3. **Жизненный цикл** – хуки заменяют методы (`useEffect` вместо `componentDidMount` и др.).
4. **Переиспользование логики** – хуки позволяют выносить логику в кастомные хуки, в классах – HOC или рендер-пропсы.
**Пример:**
```jsx
// Классовый компонент
class Counter extends React.Component {
state = { count: 0 };
increment = () => this.setState({ count: this.state.count + 1 });
render() { return ; }
}
// Функциональный с хуками
function Counter() {
const [count, setCount] = useState(0);
const increment = () => setCount(count + 1);
return ;
}
```
Хуки проще, компактнее и позволяют избежать "адского колбэка" (`this`).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы