如何将数据从 Singleton 传递到 Stateful Widget class?

How to pass data from Singleton to Stateful Widget class?

我有一个 class Communicator,我在其中声明了一些函数。执行这些功能需要一些时间,并且需要更新进度,直到所有功能都执行完毕。

现在,我正在我的 stageful widget class HomeScreen 中使用 class Communicator 的功能。我想将进度数据从 Communicator 传递到 HomeScreen 并在收到进度数据后定期更新小部件。如何实现?

Communicator.addSomeListener(_handleSomeEvent); 在初始化中,Communicator.removeSomeListener(_handleSomeEvent) 在处置中。

void _handleSomeEvent(SomePayload data) => setState((){});

您的单身人士可以保留这些回调的列表,并调用它们。

使用 shawnblais explained. You can also do it by state management if you like. Provider 等回调的一种方法将是一个很好的起点。