为了方便大家阅读,本篇博文于2021-12-07进行了更新。
阅读本篇博客之前,建议读者读读以下两篇文章,Flutter之夸组件共享状态Provider原理剖析和Nested组件,解决Flutter布局嵌套过深的利器,通过这两篇文章你可以了解到:
1、InheritedWidget
的工作原理,Provider
组件就是对InheritedWidget的二次封装。 2、ComponentElement
的构建Widget
的工作原理。 3、Nested
组件的作用和构建原理,因为MultiProvider
组件就是在Nested
基础上实现的。而且Provider
的父类InheritedProvider
就是继承了Nested
库里面的一个组件SingleChildStatelessWidget
。该组件在Nested组件,解决Flutter布局嵌套过深的利器有过说明。