当前位置: 首页 > 网络应用技术

SetState同步还是异步更新?

时间:2023-03-08 01:54:04 网络应用技术

  在16.8之前的版本中,我们需要使用数据来更新数据,因此您知道它是同步还是异步?它是如何实现的,您知道吗?让我们了解今天有关的事情!

  自从添加16.8以来,我们已经编写了基本上是功能组件的组件,并且很少使用组件。我们都知道,在功能组件中,通过此组件修改了组件的状态,并且在16.8之前的版本中,我们都修改了该组件。组件的状态,因此我们仍然需要了解相关的知识点。

  在访谈或工作中,我们经常遇到有关组件状态更新的问题。例如,当组件更新时,是同步还是异步更新?当我们更新组件的状态时,我们如何立即更新状态?这些是我们需要学习和理解的地方。同步或异步,您需要先了解一个。

  如果您了解与事件相关的儿童鞋子,那么您知道的事件不是本地事件。那是什么?简而言之,它是安装事件监控功能以完成事件的执行。当触发元素时,它将冒泡,并且将发现相应的组件生成一个并根据组件树对其进行模拟。这是中间。

  当然,上述方法在17.17之后的版本中进行了修改,将事件安装在安装在执行节点上的容器中。此修改的好处是,即使有多个项目的项目,组件的事件也不会混乱。因此,将捕获和生成哪些事件?源代码的源代码中包含的事件将被捕获,例如:,等。

  理解后,我们应该继续了解它是同步还是异步。从总体上讲,它是异步的,例如,以下示例:

  当我们在生命周期中修改组件的状态时,我们只能在第二个参数中获得当前修改的值,并且从外部获得的值仍然是beforeassynchronous的值。我们认为执行就像一个队列一样,因为它将根据队列一一执行,并且在执行数据后将执行合并操作,然后根据结果更新渲染。因此,官方团队为什么要实现这种实现方式?无法实现同步执行的想法?

  17日发行后,官方的解释是:为了保持内部一致性,如果它同步,但事实并非如此,这将导致数据感到困惑;第二点是启用和发布更新以进行后续升级。因此,在哪些情况下进行了同步?

  如果我们被放置或进入或进出,它们的执行将与上述完全不同,则粗略代码如下:

  执行时,状态将存储在队列中,然后将确定是否在舞台上。如果是这样,则该组件将存储在中;否则,它将穿越所有内容并将其称为更新或。

  在生命周期事件和综合事件中可以获得的控制用于将状态放入队列并控制执行节奏。在这些天然事件中,无法获得的控制将导致它只能做到这一点,它将一直执行,因此将同时执行并修改组件的状态。

  实际上,它并不是真正的异步,它看起来像是异步。确定当前的执行是同步还是异步。如果它与之相同,则将其执行异步,否则是同步执行。要更改,您只需要打破合成事件并在本机事件中执行它,那么您是否知道它是同步还是异步?