小编Ade*_*los的帖子

全局依赖 flutter_bloc

我在使用flutter_bloc在 Flutter 上实现应用程序时遇到问题。我理解核心概念,但我发现了一个“边缘情况”,其中没有示例或指南(至少我能找到):

(我将简化问题)我有一个称为AuthBloc管理App. 如果状态为 ,NotAuthenticated则应用程序应显示 ,LoginScreen但如果状态为 ,则应用Authenticated程序应显示HomeScreen。在HomeScreenI 中有 4 个块,其中每个块都有它的状态和事件,但它们都依赖于不同的Repositories从 API 获取一些数据。

所有这些都Repositories需要一个令牌来发出 API 请求。第一个问题就到这里了。如何从所有存储库中获取令牌?如果我使用 aUserRepository来存储令牌,则需要将其作为依赖项传递给每个存储库(可能有效,但我认为这不是正确的方法)。那么,什么是管理这个的正确方法呢?

第二个问题是:

如果以某种方式我可以在所有存储库查询中获取令牌,那么在撤销令牌时会发生什么?应用程序应该返回到LoginScreen,为此我需要AuthBloc通过事件(例如InvalidTokenEvent)通知。并且AuthBloc应该将其状态更改为NotAuthenticated,这将重建LoginScreen. 但问题是:我如何AuthBloc从其他集团或存储库通知?我的第一个想法是通过依赖注入:我可以将 AuthBloc 传递给构造函数中的所有其他块,因此当存储库请求返回令牌过期时,XBloc可以调用AuthBloc.add(InvalidTokenEvent). 但同样,如果我有很多集团,我需要在每个集团中都这样做。那么,这样做的正确方法是什么?

感谢您的任何帮助!

dart flutter bloc flutter-bloc

5
推荐指数
1
解决办法
342
查看次数

标签 统计

bloc ×1

dart ×1

flutter ×1

flutter-bloc ×1