我怎样才能访问来自另一个集团的数据

how can i access to data from another bloc

大家好,我是 bloc 模式的新手,我有一些问题

  1. 如何从 BlocBuilder 中的状态获取另一个 bloc 的 props 数据?
  2. 已经与提供商(状态管理)合作,并且可以轻松访问来自任何地方的任何数据,bloc 是否可能以及如何实现? 谢谢

要访问其他 blocs 道具,您必须持有其实例,并从中获取其状态。我已经在我写的 blog post 中解决了这个问题。

希望我正确理解你的问题, 你有一段数据存储在 bloc A 的状态中,你想在 bloc B 中使用该数据。

例如,一个 post Bloc 需要通过登录用户获取所有 post s(假设登录用户已存储在用户 Bloc 的状态中)。

定义事件:

class FetchPost extends PostEvent{
 final User currentUser
}

调度 FetchPost 事件时:

注意:如果您从视图中调度事件,则必须从 Provider.of(context)

获取 bloc
PostBloc _postBloc = Provider.of<TransactionBloc>(context);
UserBloc _userBloc = Provider.of<UserBloc>(context);
_postBloc.dispatch(FetchPost(_userBloc.currentState.loggedInUser))

谢谢你,我想我找到了这个问题的答案 ist 的数据不应该在集团中,数据应该在存储库中。然后,您可以使用 RepositoryProvider 或 MultiRepositoryProvider 从子树中的任何 bloc 获取任何数据。