本文翻译自 Flutter 官方推荐的文章:Managing Flutter Application State With InheritedWidgets。通过官网文档或推荐文章,能够让我们更好地了解 Flutter 的状态管理机制。
前言
上篇从InheritedWidget深入了解 Flutter 状态管理机制(上)
介绍了使用自定义InheritedWidget
子类 ModelBinding
实现子组件直接访问状态,从而达到无需沿着组件树层层传递的目的,减少了父子组件间的耦合。但是也存在两个问题:
ModelBinding
类不通用,每个页面都需要自己定义一个InheritedWidget
子类。- 状态改变的回调函数还是需要从顶层传递到具体操作状态的组件,耦合没有完全解除。
本篇将对上一个 ModelBinding
类进行改造,实现一个更通用,耦合度更低的 ModelBinding
类。
解耦状态更新回调
InheritedWidget
方式的版本将组件和 model
进行绑定后简化了模型的更新。现在,任何 M