Я разрабатываю настольную игру и для тестирования обоих игроков у меня есть этот фрагмент кода в моем componentDidMount:
window.swap = () => {
this.setState({
self: rotate(this.state.game[0].players, this.state.game[0].players.indexOf(this.state.self))[1]
})
}
Это в основном выбирает следующий проигрыватель в массиве проигрывателей и устанавливает для него self, чтобы я мог выдавать себя за этого игрока.
Когда я вызываю swap в первый раз, он работает нормально, но когда я вызываю его снова, страница вылетает. тем не мение, если я перед этим добавлю console.info, вот так:
window.swap = () => {
console.info('what?')
this.setState({
self: rotate(this.state.game[0].players, this.state.game[0].players.indexOf(this.state.self))[1]
})
}
он работает нормально каждый раз. Даже если я сделаю простой цикл for(let i=0; i<100; i++) swap(), он работает нормально, печатает "что?" 100 раз.
Если я закрою DevTools и добавлю что-то вроде этого
setTimeout(() => {
window.swap()
window.swap()
}, 5000)
он отлично работает, с console.info или без него на swap. Какие?
Обновлено:
Проверено на:
Очевидно, эта ошибка будет исправлена в следующих версиях Chrome.
Да, и DevTools отключается





Это ошибка Chrome, которая будет исправлена в следующей версии. Если кто-то может указать мне на страницу проблемы или что-то в этом роде, мне любопытно, чем это вызвано.
Когда вы говорите "вылетает страница", вы имеете в виду, что получаете сообщение "Ой, щелчок"?