5 dart pull-to-refresh flutter bloc
我有一个名为 A 的Stateless类,它是一个类,我有一个名为 B 的Stateful类,它是一个类
A类的build方法如下
@override
Widget build(BuildContext context) {
return BlocProvider(
bloc: DashboardListBloc(),
child: Scaffold(
body: SingleChildScrollView(
child: Column(
children: <Widget>[
SafeArea(child: _dashboardAppBar(context)),
SizedBox(
height: 10.0,
),
B() // this is class B
],
),
)),
);
Run Code Online (Sandbox Code Playgroud)
我宣布在B级我的阵营对象类A的身体假设,我换SingleChildScrollView用RefreshIndicator,所以如何在其更新特性我应该叫阵营类的其参考在B类中定义的方法
我想把所有东西都移到 B 类并删除 A 类,但这会导致另一个问题,因为我必须Bloc在 init 方法中初始化并且在构建之前调用 init,bloc 将始终导致 null,因为我将BlocProvider InheritedWidget在 B 类的构建方法中使用
您应该创建一个单一的块实例并将其提供给这两个类。换句话说,您的块不应该在类 B 中创建,而是您可以通过用 a 包装 A 和 B 的任何公共父级(例如您的 App 小部件)并使用该 BlocProvider方法来创建您的块create。然后在任何子小部件中,您可以执行BlocProvider.of<MyBloc>()or操作context.read<MyBloc>(),这样 A 类和 B 类将共享同一个 Bloc 实例。
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |