我正在构建我的第一个Flutter应用程序,我需要刷新数据列表,每个组件都有一些修饰符。这是基本架构。
从RefresherWidget
(这是一个保存列表的StatefulWidget
)内的API定期刷新一个大的数据列表(大约5000行),然后传递给孩子们。每个RowWidget
都有一个Switch
(以及Dialogs
),它修改了它代表的数据。
目前,修改列表的方法是在RefresherWidget
中,所以我将它们作为回调函数传递给每个孩子,直到达到onChanged
的Switch
回调。
但我不认为这是一个非常干净的解决方案,我不知道如何实现更好的解决方案:我已经尝试过将这些方法传递到InheritedWidget
和RefresherWidget
之间的ListViewWidget
中,并使用of
引用它们功能,但我不知道如果InheritedWidget
得到重建我会得到的性能。
此外,Streams和BLoC似乎非常复杂,我需要做的事情。
你们通常如何解决这样的问题?
对于InheritedWidget
或BuildContext
来说,这绝对是一种情况。
我试过[...] InheritedWidget [...]但是我不知道如果InheritedWidget得到重建我会得到的性能。
你不必担心任何事情。 InheritedWidget
就是为了这个目的而建造的。
获得InheritedWidget
是非常有效的(O(1))。并且只有依赖于值的小部件才会被重建 - 这也是最佳的。