Flutter 继承的Widget和BLoC之间的区别?

Flutter 继承的Widget和BLoC之间的区别?,flutter,dart,bloc,state-management,Flutter,Dart,Bloc,State Management,我搜索了很多关于继承的Widget和Bloc状态管理之间的区别 我发现继承的Widget是不可变的,但Bloc不可变 我很清楚可变和不变的概念,但我只是想问一下 为什么inherited widget是不可变的,它和Bloc有什么区别?Bloc和inherited widget是非常不同的东西 Bloc是一个组件,它将事件作为输入,对该事件作出反应并通过流生成状态。然后,小部件可以监听此事件流,并在新的数据可用时重建。Bloc独立于侦听它或插入事件的小部件 继承的小部件只向他的所有孩子提供一段数

我搜索了很多关于继承的Widget和Bloc状态管理之间的区别

我发现继承的Widget是不可变的,但Bloc不可变 我很清楚可变和不变的概念,但我只是想问一下


为什么inherited widget是不可变的,它和Bloc有什么区别?

Bloc和inherited widget是非常不同的东西

Bloc是一个组件,它将事件作为输入,对该事件作出反应并通过流生成状态。然后,小部件可以监听此事件流,并在新的数据可用时重建。Bloc独立于侦听它或插入事件的小部件


继承的小部件只向他的所有孩子提供一段数据。您可以通过buildContext访问此数据。您还可以通知继承的小部件其数据已更改,这将导致重建其下的所有小部件。

好的,我知道了,但我有两个问题1-继承的小部件的子项在继承的重建导致数据更改时是否依赖于继承的小部件的数据。这个非依赖数据的子项也会重建吗?第二个问题,那么提供者和继承的小部件之间有什么区别呢?1,据我所知,继承的小部件将重建整个树。2,提供程序只是继承的小部件的包装器,所以使用它更方便。那么,提供程序中的附加功能比继承的小部件有什么呢?您可以查看他们的pub.dev包。它通过继承的小部件提供的所有信息都在那里。