美文网首页
flutter 声明周期相关 整体梳理

flutter 声明周期相关 整体梳理

作者: 菜鸟何时起飞 | 来源:发表于2022-03-12 16:29 被阅读0次

    一个element 的创建从 inflateWidget 开始

    1 调用 inflateWidget 
      1.1第一次创建 会走element 的mount     newChild.mount(this, newSlot);
      1.2 在 mount 方法中 除了公共逻辑,不同的子类有不同的处理逻辑,这里只说ComponentElement,因为StatefulElement 是它的子类。
      1.3 ComponentElement.mount() 调用了_firstBuild() ,在_firstBuild 中调用了rebuild()。
      1.4 StateFulElement 重写了_firstBuild(), 分别调用了state.initState() state. didChangeDependencies();
       1.5 走rebuild() ->performRebuild(),针对不同的子类performRebuild()处理逻辑不一样,这里只看StatefulElement->ComponentElement().
           在ComponentElement 的performRebuild 中会调用 build() ,不同的子类实现不一致,针对StatefulElement 就是调用 state.build() ,对于StatelessElement 就是调用 Widget.build().
    
    至此 对于 StateFulWidget 的state 的声明周期调用如下 initState ->didChangeDependencies->build()
    
    

    相关文章

      网友评论

          本文标题:flutter 声明周期相关 整体梳理

          本文链接:https://www.haomeiwen.com/subject/mezkdrtx.html