Flutter 颤振提供程序仅通知选定的侦听器

Flutter 颤振提供程序仅通知选定的侦听器,flutter,flutter-provider,Flutter,Flutter Provider,我正在和弗利特的供应商打交道,不能理解所有的可能性。 例如,我有这样的小部件结构: Widget_A --Widget_B ----Widget_C ----Widget_D --Widget_E --Widget_F 简单的例子是待办事项列表。假设您有类别,添加字段和待办事项列表。每个都是一个单独的小部件。然后更改类别,因此应重新加载待办事项列表,以显示所选类别中的待办事项。稍后,您将使用add_字段添加todo,因此todo_列表也需要更新,因为有新记录。我怎样才能做到这一点 PS:我试着

我正在和弗利特的供应商打交道,不能理解所有的可能性。 例如,我有这样的小部件结构:

Widget_A
--Widget_B
----Widget_C
----Widget_D
--Widget_E
--Widget_F
简单的例子是待办事项列表。假设您有
类别
添加字段
待办事项列表
。每个都是一个单独的小部件。然后更改
类别
,因此应重新加载
待办事项列表
,以显示所选类别中的待办事项。稍后,您将使用
add_字段
添加todo,因此
todo_列表
也需要更新,因为有新记录。我怎样才能做到这一点


PS:我试着将所有的东西分离到不同的提供者类中,但效果是一样的:如果widget使用Provider.of(context),它将被更新。由于我应该合并来自两个提供者的数据,所以将有一个小部件连接到这两个提供者,所以结果将是无止境的循环。仍然如此。

你有一个无休止的更新循环,再加上你在问这个问题,这表明你在做一些反模式的事情。哪种反模式?数据流不是那么容易。如果其他两个小部件更新,其中一个小部件应该更新。。。可能存在一些小部件结构问题,但我没有看到。问题出在您的数据流上。它应该是一个单向的数据流。你是什么意思?这是单向的。但据我所知,供应商并不关心方向。如果小部件使用选定的提供程序,它将被更新。。。对吗?至少有一个例子是这样的,这可能不是你遇到的唯一问题,所使用的例子也与你的完全相同,但你可能想阅读。