【问题标题】:Flutter Multiple Blocs and NamedRoutesFlutter 多个 Bloc 和 NamedRoutes
【发布时间】:2020-07-18 11:36:53
【问题描述】:

寻求一些关于 Flutter 架构的建议。我正在构建一个应用程序,它有大约 10 个屏幕,全部存储为命名路由并使用 onGenerateRoute。

我正在尝试实现块和流,以便当另一个页面创建新记录(所有在在线 SQL 数据库中处理)时,我可以广播到一个页面。

所以我有两个页面使用一个块,另外 3 个页面需要访问另一个块......等等。这是否意味着提供访问的唯一方法是将所有块的块提供程序放在顶部小部件树,使所有块可用于所有页面?

我试图通过使用这两个页面顶部的提供程序来分别在两个页面上提供对一个 bloc 的访问......但是,我想这意味着我实际上是在创建两个单独的 BloC 对象?而不是两个页面实际上都使用相同的页面。所以当页面B创建新记录时,并不是调用页面A重新加载...

我不希望所有页面都访问所有 BloC,但唯一的方法是将 Bloc 放在需要它的任何页面的单一祖先的地方吗?

我也很困惑为什么要关闭流...我认为关键是它们是连续的数据源...如果我们关闭它们,它们是否不再可用于向订阅者广播?

完全困惑,3 小时后的 YouTube 视频,我也不清楚。 提前谢谢...

【问题讨论】:

    标签: flutter stream bloc


    【解决方案1】:

    看看https://bloclibrary.dev/#/recipesflutterblocaccess?id=generated-route-access

    当需要blocs的Widgets被dispose时,blocs也应该被dispose。否则,您会因为保持其活动状态而不必要地消耗资源。

    【讨论】:

      猜你喜欢
      • 2019-12-10
      • 2021-03-19
      • 2019-04-20
      • 2020-11-12
      • 2020-03-27
      • 2021-03-15
      • 2020-05-06
      • 2019-07-19
      • 1970-01-01
      相关资源
      最近更新 更多