简而言之,它是否context属于 BLoC 类?如果不属于,正确的方法是什么?
我使用 aProvider作为 Firebase DB 和 UI 之间的抽象层。最近,我们进一步抽象以使用 BLoC 模式,以便小部件不会直接操作数据Provider。一切进展顺利,但由于我们同时使用提供程序和 BLoC,我不确定如何BuildContext正确使用它们,因为上下文更多地与 Widgets/UI 相关,而不是与业务逻辑相关。
这是一个例子:
class SomeWidget extends StatelessWidget {
final SomeWidgetBloc bloc;
SomeWidget({Key key, this.bloc});
@override
Widget build(BuildContext context) => StreamBuilder(stream: bloc.getSomeData,
builder: (context, snapshot) {
return Text(snapshot.data ?? "Empty");
}
}
class SomeWidgetBloc {
BuildContext context; // should it be here? Currently, it's needed for the Provider
SomeWidgetBloc(BuildContext context);
Stream<String> get getSomeData {
return Provider.of<SomeFirebaseProvider>(context).fetchSomeData();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |