使用了flutter很久,觉得自己也很理解状态管理是怎么回事,公司的项目中使用的是Provider这个状态管理框架。但是因为都是封装好且易用始终没有下定决心好好钻研。好了吧,现在因为自己想写一个小的属于自己的项目,才发现自己对状态管理理解的还不是很透彻,所以就从头开始吧!
所有的状态管理都是基于flutter的 InheritedWidget 这个组件来封装的,那就从这个开始吧!
那么假设我们想要共享的是颜色的状态,我们应该怎么管理这个颜色的状态呢?我只需要把要共享的状态放在InheritedWidget 里
在不同的组件中使用了这个共享状态的颜色
这样只要改变颜色,这两句诗的颜色就会改变
这个只是组件间共享状态,跨页面的话把ColorInheritedWidget套在MaterialApp`的上层节点就可以实现跨页面去使用这个共享的颜色了。
本文转载自: 掘金