Поэтому я изо всех сил пытался передать обратный вызов this.setState()
, потому что я делал это следующим образом:
this.setState({ anyState }, this.anyFunction());
Функция была вызвана, но она не была вызвана на самом деле после обновления состояния,В результате, когда я также обновлял тот же anyState
в моем anyFunction
, между обновлениями двух состояний был какой-то конфликт, и только первое из них было эффективным.
Затем я обнаружил, чтоМне нужно было либо
this.setState({ anyState }, () => this.anyFunction());
либо
this.setState({ anyState }, function() { this.anyFunction() });
, чтобы все работало правильно.
Почему так?Почему мой первый подход неверен?