Create a Stateful Component

Одна из наиболее важных тем в React - это состояния (state). Состояние может в себя включать любые данные, о которых должно знать ваше приложение, которые могут со временем меняться. По сути своей state - это обычный объект. Состояния нужны, чтобы ваши приложения отвечали на изменения состояния и при необходимости обновляли интерфейс. React предлагает хорошее решение для управления состояниями в современных веб-приложениях. Вы создаете состояние в компоненте React, объявляя свойство state в классе компонента в его методе constructor . Это инициализирует компонент со свойством state при его создании. Объявление выглядит следующим образом:

constructor(props) {
  super(props);

this.state = { // описываем ваше состояние здесь } }

У вас есть доступ к объекту state на протяжении всего срока службы вашего компонента. Вы можете обновить его, отобразить в пользовательском интерфейсе и передать его в качестве свойств в дочерние компоненты. Объект state может быть как сложным, так и простым, как вам нужно. Обратите внимание, что вы должны создать компонент класса за счет расширения React.Component для того , чтобы создать state.

Замечание: на самом деле свойство this.state напрямую менять нельзя. Для изменения состояния используется специальный метод this.setState(), который будет рассматриваться далее. Но важно понимать, что даже с использованияем этого метода, мы не меняем свойство this.state, а создаем новое. То есть в метод this.setState() мы передаем новые значения состояния, Реакт делает копию текущего состояния (и это уже новый объект состояния) и дописывает переданные нами свойства в него (дополняя или обновляя его свойства). Это очень важно понимать.

В редакторе кода есть компонент, который пытается отобразить свойство name из своего state . Однако state не определено. Инициализируйте компонент с state в constructor и присвойте свое имя свойству name .