本文主要是介绍这一篇让你彻底弄明白 Flutter 的 InheritedWidget 局部刷新机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
上一篇我们从源码角度分析了 setState
的过程,从而了解到为什么 setState
方法被调用的时候会重新构建整个 Widget
树。但是,Widget
树的重新构建并不意味着渲染元素树也需要重新构建,事实上渲染树只是做了更新,而不一定是移除后在渲染。
但是,我们的 ModelBinding
类也是使用了 setState
进行状态更新的,为什么它的子组件没有重新构建,而只是更新了依赖于状态的子组件的 build
方法呢?除了使用了内部的 InheritedWidget
包裹了子组件外,其他和普通的 StatefulWidget
没什么区别。如前面两篇分析 从InheritedWidget
了解状态管理一样,差别就是在这个 InheritedWidget
上。本着技术人刨根问底的精神,本篇就来看一下 InheritedWidget
在调用 setState
的时候究竟有什么不同。
知其然,知其所以然。在阅读本篇文章前,如果对 Flutter 的状态管理不是特别清楚的,建议阅读本人前几篇文章了解一下背景。
InheritedWidget与 StatefulWidget 的区别
首先,Inh
这篇关于这一篇让你彻底弄明白 Flutter 的 InheritedWidget 局部刷新机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!