当调用 setState的时候,发生了什么操作?

terry React 157

当调用 setState的时候,发生了什么操作?

回复

共1条回复 我来回复
  • 唐伯虎点蚊香的头像
    唐伯虎点蚊香
    前端小白,想各位学习!
    评论

    当调用 setState时, React做的第一件事是将传递给setState的对象合并到组件的当前状态,这将启动一个称为和解( reconciliation)的过程。

    和解的最终目标是,根据这个新的状态以最有效的方式更新DOM。

    为此, React将构建一个新的 React虚拟DOM树(可以将其视为页面DOM元素的对象表示方式)。

    一旦有了这个DOM树,为了弄清DOM是如何响应新的状态而改变的, React会将这个新树与上一个虚拟DOM树比较。

    这样做, React会知道发生的确切变化,并且通过了解发生的变化后,在绝对必要的情况下进行更新DOM,即可将因操作DOM而占用的空间最小化。

    1年前 0条评论