Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: классы, компонент

Каковы различия между классовыми и функциональными компонентами в React?

Вопрос проверяет понимание двух основных подходов к созданию компонентов в React: классового и функционального. Он помогает оценить знания о различных способах работы с состоянием и жизненными циклами компонентов.

Короткий ответ

Классовые компоненты используют синтаксис классов и имеют методы для работы с состоянием и жизненными циклами. Функциональные компоненты — это простые функции, которые возвращают JSX. Раньше функциональные компоненты не могли иметь состояния, но с появлением хуков в React они получили эту возможность. Теперь функциональные компоненты чаще используются благодаря более простому синтаксису и гибкости.

Длинный ответ

Классовые компоненты были основным способом создания компонентов с состоянием и методами жизненного цикла до введения хуков. Они используют классы и методы, такие как render(), componentDidMount(), componentDidUpdate(), для управления состоянием и побочными эффектами. Например:

class MyComponent extends React.Component {
 	 constructor(props) {
      		super(props);    
      		this.state = { count: 0 };  
 	 }  render() {
    	  	return <div>{this.state.count}</div>;  
  	} 
}

С появлением хуков функциональные компоненты стали предпочтительнее, так как они проще по структуре. Хуки, такие как useState и useEffect, позволяют функциональным компонентам управлять состоянием и жизненными циклами. Например:

function MyComponent() {
  	const [count, setCount] = useState(0);
    
  	useEffect(() => {
      		document.title = `You clicked ${count} times`;  
 	 }, [count]);  
  
  	return <div>{count}</div>; 
}

Функциональные компоненты более читаемы, легче тестируются и обеспечивают лучшую производительность за счет оптимизаций, таких как useMemo и useCallback.

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • React

    React

Ключевые слова

#классы

#компонент

Подпишись на React Developer в телеграм