Student-Labs-2023 / network-class-frontend

2 stars 0 forks source link

setState #33

Open VetDeveloper opened 1 year ago

VetDeveloper commented 1 year ago

Если не знакомы с eventLoop - ознакомьтесь.

Если ваше новое значение основывается на старом, то передавайте функцию в setState, вместо текущего значения с какими-либо правками. Статья на эту тему: https://medium.com/@wisecobbler/using-a-function-in-setstate-instead-of-an-object-1f5cfd6e55d1 .

Если кратко: вы можете один раз изменить состояние и этот евент ставится в очередь. Зачем вы можете снова попытаться изменить состояние. Но предыдущий евент еще в очереди. И вы обратитесь к старому значению стейта. Тадам, ошибка.

image

BodySites commented 1 year ago

Да, про event loop я наслышан. Не знал, что такая ошибка может произойти. Учту это.