Open VetDeveloper opened 1 year ago
Если не знакомы с eventLoop - ознакомьтесь.
Если ваше новое значение основывается на старом, то передавайте функцию в setState, вместо текущего значения с какими-либо правками. Статья на эту тему: https://medium.com/@wisecobbler/using-a-function-in-setstate-instead-of-an-object-1f5cfd6e55d1 .
Если кратко: вы можете один раз изменить состояние и этот евент ставится в очередь. Зачем вы можете снова попытаться изменить состояние. Но предыдущий евент еще в очереди. И вы обратитесь к старому значению стейта. Тадам, ошибка.
Да, про event loop я наслышан. Не знал, что такая ошибка может произойти. Учту это.
Если не знакомы с eventLoop - ознакомьтесь.
Если кратко: вы можете один раз изменить состояние и этот евент ставится в очередь. Зачем вы можете снова попытаться изменить состояние. Но предыдущий евент еще в очереди. И вы обратитесь к старому значению стейта. Тадам, ошибка.