我刚刚发现this.setState()
在任何组件中的 react函数都是异步的,或者在调用它的函数完成后被调用。
现在我搜索并找到了这个博客(setState() State Mutation Operation May Be Synchronous In ReactJS)
在这里,他发现,setState
这取决于如何状态的变化引发的是异步(当堆栈是空的称呼)或同步(称为尽快调用)。
现在这两件事很难消化
- 在博客中,
setState
函数是在函数内部调用的updateState
,但是触发updateState
函数的不是被调用函数知道的。 - 为什么他们会
setState
异步的JS是单线程的语言,这样的setState不是的WebAPI或服务器调用,这样,必须只对JS的线程中完成的。他们这样做是为了使重新渲染不会停止所有事件侦听器和其他东西,还是存在其他一些设计问题。