参数类型 'MyBloc' 无法分配给参数类型 'MyBloc Function(BuildContext)
The argument type 'MyBloc' can't be assigned to the parameter type 'MyBloc Function(BuildContext)
我正在尝试将 flutter_bloc 添加到我的 flutter 应用程序中。我有主页,当单击主页中的按钮时需要导航到不同的页面。导航工作没有任何问题,但是当使用 BlocProvider 包装组件时 wrror
参数类型'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(),
)));
}
谁能告诉我我的代码有什么问题吗?
正如错误消息清楚指出的那样,BlocProvider
中的 create 参数正在接受语法为 MyBloc Function(BuildContext)
的函数,但您返回的是 MyBloc
[=18] 的对象=]直接。
所以,returns 来自这样一个函数的 bloc 对象:
create: (context) => MyBloc(),
我正在尝试将 flutter_bloc 添加到我的 flutter 应用程序中。我有主页,当单击主页中的按钮时需要导航到不同的页面。导航工作没有任何问题,但是当使用 BlocProvider 包装组件时 wrror
参数类型'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(),
)));
}
谁能告诉我我的代码有什么问题吗?
正如错误消息清楚指出的那样,BlocProvider
中的 create 参数正在接受语法为 MyBloc Function(BuildContext)
的函数,但您返回的是 MyBloc
[=18] 的对象=]直接。
所以,returns 来自这样一个函数的 bloc 对象:
create: (context) => MyBloc(),