Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: state

Как управлять состоянием в React?

Этот вопрос проверяет понимание механизмов управления состоянием в React.

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

В React управление состоянием происходит через использование хуков, таких как useState для функциональных компонентов и this.state для классовых. Состояние позволяет компонентам хранить и обновлять данные, которые влияют на отображение. Хук useEffect также используется для управления побочными эффектами, связанными с состоянием.

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

Управление состоянием в React — это один из ключевых аспектов разработки интерактивных пользовательских интерфейсов. Состояние компонента представляет собой объект, который содержит данные, влияющие на его рендеринг и поведение. Когда состояние изменяется, React автоматически перерисовывает компонент, чтобы отобразить новые данные.

В функциональных компонентах для управления состоянием используется хук 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>  
  	); 
}

В этом примере count — это состояние, а setCount — функция для его обновления. Каждый раз, когда пользователь нажимает кнопку, счет увеличивается на 1, и компонент перерисовывается с новым значением.

В классовых компонентах состояние управляется через this.state и метод setState:

class Counter extends React.Component {
  	constructor(props) {
      		super(props);    
      		this.state = { count: 0 };  
 	 }  
  	increment = () => {
      		this.setState({ count: this.state.count + 1 });  
  	};  
  	render() {
      		return (   
         		<div>     
            			<p>Текущий счет: {this.state.count}</p>        
            			<button onClick={this.increment}>Увеличить</button>      
         		</div>    
      		);  
  	} 
}

Здесь метод setState обновляет состояние, и React автоматически вызывает render, чтобы обновить интерфейс.

В дополнение к useState, React предлагает useEffect для управления побочными эффектами, связанными с состоянием, такими как запросы к API, подписки и манипуляции с DOM. Это позволяет синхронизировать состояние компонента с внешними данными.

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    2

Навыки

  • React

    React

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

#state

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