【发布时间】:2021-08-13 10:07:03
【问题描述】:
我正在尝试将 flutter_bloc 添加到我的颤振应用程序中。我有主页,当单击主页中的按钮时需要导航到不同的页面。导航工作没有任何问题,但是当使用 BlocProvider 包裹组件时,会出现错误
无法将参数类型“MyBloc”分配给参数类型“MyBloc Function(BuildContext)”
这是我迄今为止尝试过的
我的圈子
import 'package:flutter_bloc/flutter_bloc.dart';
enum MyEvent {increment, decrement}
class MyBloc extends Bloc<MyEvent, int> {
MyBloc() : super(0);
@override
Stream<int> mapEventToState(MyEvent event) async* {
switch (event) {
case MyEvent.increment:
yield state + 1;
break;
case MyEvent.decrement:
yield state - 1;
break;
}
}
}
在主页中点击按钮时我正在调用下面的函数
Future<void> _routeToTodayTasks() {
return Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => BlocProvider<MyBloc>(
create: MyBloc(),
child: TodayTasks(),
)));
}
【问题讨论】:
-
create 接受一个返回块的函数,而不是块的实例,所以使用
(context)=> MyBloc(),
标签: flutter dart bloc flutter-bloc