Por que o setState no reactjs Async em vez de Sync?

Acabei de descobrir que em reagirthis.setState() A função em qualquer componente é assíncrona ou é chamada após a conclusão da função na qual foi chamada.

Agora eu pesquisei e encontrei este blog (http://www.bennadel.com/blog/2893-setstate-state-mutation-operation-may-be-synchronous-in-reactjs.htm)

Aqui ele descobriu quesetState é assíncrono (chamado quando a pilha está vazia) ou sincronizado (chamado assim que chamado), dependendo de como a alteração de estado foi acionada.

Agora, essas duas coisas são difíceis de digerir

No blog, osetState função é chamada dentro de uma funçãoupdateState, mas o que desencadeou oupdateState função não é algo que uma função chamada saiba.Por que eles fariamsetState assíncrono como JS é uma linguagem de encadeamento único e esse setState não é uma chamada de WebAPI ou de servidor, portanto, isso deve ser feito apenas no encadeamento de JS. Eles estão fazendo isso para que a nova renderização não pare todos os ouvintes de eventos e outras coisas, ou há algum outro problema de design.

questionAnswers(6)

yourAnswerToTheQuestion