Вы должны инициировать значение this.state.pictures
внутри конструктора.Вы можете установить состояние непосредственно только внутри constructor
, в любом другом случае используйте this.setState
Если вы не инициализируете состояние и не связываете методы, вам не нужно реализовыватьконструктор для вашего компонента React.
Конструктор для компонента React вызывается перед его монтированием.При реализации конструктора для подкласса React.Component вы должны вызывать super (props) перед любым другим оператором.В противном случае this.props будет неопределенным в конструкторе, что может привести к ошибкам.
Как правило, в React конструкторы используются только для двух целей:
Инициализация локального состояния путем назначения объектаthis.state.Привязка методов обработчика событий к экземпляру.Вы не должны вызывать setState () в конструкторе ().Вместо этого, если вашему компоненту нужно использовать локальное состояние, присвойте начальное состояние this.state непосредственно в конструкторе:
constructor(props) {
super(props);
// Don't call this.setState() here!
this.state = { counter: 0 };
this.handleClick = this.handleClick.bind(this);
}
Конструктор - это единственное место, где вы должны назначить this.state напрямую.Во всех других методах вам нужно использовать this.setState ().
https://reactjs.org/docs/react-component.html#constructor
constructor(props) {
super(props)
this.state.pictures = []
}