【问题标题】:How to handle communication between Blocs如何处理集团之间的通信
【发布时间】:2020-04-06 22:56:59
【问题描述】:

我正在使用 flutter_bloc 库。想象一下这种情况,你在你的应用程序中深入导航,并且导航堆栈上的每个屏幕都显示数据(略有不同,否则它没有意义),可以由用户修改。因为我们使用的是 Bloc,所以每个屏幕都连接到它自己的 bloc。现在,用户修改数据。

我的问题:如何告诉其他区块/屏幕使用更新的数据进行重建?

据我了解,我目前未查看的路线上的集团已关闭。所以他们不再听事件了。 编辑:这个假设是错误的,请参阅答案。

【问题讨论】:

  • 然后你使用 Navigator.push* 你会收到一个 Future,你可以使用 'then' 知道视图何时弹出并向 bloc 发送 RefreshEvent 以便刷新状态。
  • 好吧,还没有考虑到这一点,但是如果您延迟从数据库中获取数据,那么对于用户来说就不是很流畅了。我想到了像范围模型这样的东西,我可以以某种方式更新所有屏幕,这些屏幕是一些智能的 bloc 实现。

标签: flutter bloc flutter-bloc


【解决方案1】:

最终答案。我的假设是错误的。如果路线仍在导航堆栈上,则集团不会关闭。因此,您仍然可以将事件添加到其他路线上的 Blocs。

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 2014-08-24
    • 2021-03-20
    • 1970-01-01
    • 2023-03-18
    • 2010-09-18
    • 1970-01-01
    • 2019-03-18
    相关资源
    最近更新 更多