https://crocsbootsbestcheapprice.blogspot.com/2022/06/why-do-i-need-to-wrap-setstate-callback.html