У меня странный вопрос о функции обратного вызова set state в React.В React 15 все работает нормально, но как только я обновил версию реагирования до 16, функция обратного вызова заданного состояния не срабатывает.Я перепробовал почти все, но я не мог четко выяснить, что вызывает эту проблему.
Я пытался связать функцию в конструкторе, используя анонимную функцию внутри метода set state, но ни один из них на самом деле не работал.
Затем я попытался понизить версию реакции до 15 и запустил проект, и мне удалось запустить метод обратного вызова (проверено путем помещения окна предупреждения в функцию обратного вызова).
Вот точныйкод, который я использую в моем примере проекта:
Эта функция вызывается нажатием кнопки
incrementCounter() {
this.setState({
currentCount: this.state.currentCount + 1
}, this.callbackfuncsajad.bind(this));
}
Это функция обратного вызова установленного состояния
callbackfuncsajad = () => {
alert('in the callback');
}
Это мой package.json, чтобы проверить, есть ли какое-либо несоответствие версий:
- "реагировать": "^ 15.6.2"
- "реагировать-дом": "^ 16.6.3"
- " @ Типы / реагировать ":" ^ 15.0.35 "
- " @ Типы / реагировать-дом ":" ^ 15.5.8 "
- " машинопись ": "2.4.1"
В качестве примечания: я использую стандартный шаблон React.JS для Visual Studio 2017 ASP.NET дляу проекта.По умолчанию проект поставляется с React 15 вместе с машинописью.
Было бы очень полезно, если бы кто-нибудь мог разобраться с этой проблемой.
Спасибо.