After some debugging, I found that
When setState is called, React will schedule a micro task to rerender.
The assumption is wrong.
For more details, check https://github.com/facebook/react/issues/31182#issuecomment-2421205201