为什么使用InheritedWidget而我们可以使用广播流| StreamBuilder和静态变量

为什么使用InheritedWidget而我们可以使用广播流| StreamBuilder和静态变量,stream,dart,state,flutter,state-management,Stream,Dart,State,Flutter,State Management,为什么使用InheritedWidget而我们可以使用广播流| StreamBuilder和静态变量 既然我们可以拥有一个简单而干净的体系结构,为什么还要为redux、范围模型等而烦恼呢 流/汇绝对是存储状态的最佳选择。有一些现有的架构,比如BLoC,它经常使用它们 但是,流也不能完全取代InheritedWidget。 InheritedWidget具有只覆盖屏幕一部分内容的超酷功能。 一个很酷的应用是主题 一般来说,流对于存储业务逻辑来说很酷。但是当你需要存储UI逻辑时,InheritedW

为什么使用InheritedWidget而我们可以使用广播流| StreamBuilder和静态变量

既然我们可以拥有一个简单而干净的体系结构,为什么还要为redux、范围模型等而烦恼呢


流/汇绝对是存储状态的最佳选择。有一些现有的架构,比如BLoC,它经常使用它们

但是,流也不能完全取代
InheritedWidget
InheritedWidget
具有只覆盖屏幕一部分内容的超酷功能。 一个很酷的应用是
主题


一般来说,
对于存储业务逻辑来说很酷。但是当你需要存储UI逻辑时,
InheritedWidgets
占据了上风。

谢谢,我不是在寻找替代品,我在寻找一个简单而干净的架构当我使用StreamBuilder时,我实际上只是覆盖了屏幕的一部分内容,我错了吗?你错了<代码>继承小部件将信息传递给其子项。而流在小部件中。因此,在继承widget的情况下,其他widget可能会产生影响。当使用流时,它们无法访问流。流不在小部件中,流是广播的,并且对应用程序是全局的。不需要向下传递任何层次结构,只需将状态存储在全局/静态变量中,但您共享同一个流。当您实例化多个inheritedwidget时。只要试着用流重现
主题
,你就会很容易理解