zoukankan      html  css  js  c++  java
  • 2.1组件1 state属性知识点:调用setState 会发生什么?

     1 setState是谁调用的? this.setState

    setState的调用会引起React的更新生命周期的4个函数执行。

    shouldComponentUpdate (true, should, 阀门)(当shouldComponentUpdate执行时,返回true,进行下一步,this.state没有被更新。。。返回false,停止,更新this.state)
    componentWillUpdate  (当componentWillUpdate被调用时,this.state也没有被更新)
    render (才会进行4步渲染) (直到render被调用时候,this.state才被更新。!!!!)
    componentDidUpdate

    (1)代码中调用 setState 函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation)。


    (2)经过调和过程,React 会以相对高效的方式根据新的状态构建 React 元素树并且着手重新渲染整个 UI 界面;

    (3)在 React 得到元素树之后,React 会自动计算出新的树与老树的节点差异,然后根据差异对界面进行最小化重渲染;

    (4)在差异计算算法中,React 能够相对精确地知道哪些位置发生了改变以及应该如何改变!!!这就保证了按需更新,而不是全部重新渲染。

    1 调和。

    2 创建React fiber树。

    3  计算出差异,最小化重新渲染。

    4 按需更新

  • 相关阅读:
    [HAOI2018]苹果树
    [TJOI2013]拯救小矮人
    [SDOI2016]硬币游戏
    一辈子都学不会的有上下界的网络流
    [AHOI2014/JSOI2014]支线剧情
    [JSOI2009]球队收益
    hdu-1856 More is better---带权并查集
    hdu-1325 Is It A Tree?---并查集
    hdu-1272 小希的迷宫---并查集或者DFS
    hdu1213-How Many Tables---基础并查集
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14442195.html
Copyright © 2011-2022 走看看