Нельзя ссылаться на объект во время инициализации, если вы используете литеральный синтаксис объекта.
Если вы хотите установить свойство для состояния на основе существующего свойства в объекте, вы можете сделать это в componentWillMount()
метод жизненного цикла.
Код будет выглядеть следующим образом:
Внутри конструктора ()
constructor(props) {
super(props);
this.state = {
symbols: [X, O],
currentPlayer: Math.floor(Math.random() * 2),
fields: Array(9).fill(null)
};
}
Внутри componentWillMount ()
this.setState((prevState) => { whosPlaying: prevState.currentPlayer });
Примечание. Если вы используете React 16.3+, вы можете рассмотреть возможность использования getDerivedStateFromProps ().