Flutter 参数类型';MyBloc';can';不能分配给参数类型';MyBloc函数(构建上下文)
我正在尝试将添加到我的颤振应用程序中。我有主页,当点击主页上的一个按钮时,需要导航到另一个页面。导航可以正常工作,但当使用BlocProvider包装组件时,组件会低于wrror 无法将参数类型“MyBloc”分配给参数类型“MyBloc函数(BuildContext)” 这就是我迄今为止所尝试的 我的集团Flutter 参数类型';MyBloc';can';不能分配给参数类型';MyBloc函数(构建上下文),flutter,dart,bloc,flutter-bloc,Flutter,Dart,Bloc,Flutter Bloc,我正在尝试将添加到我的颤振应用程序中。我有主页,当点击主页上的一个按钮时,需要导航到另一个页面。导航可以正常工作,但当使用BlocProvider包装组件时,组件会低于wrror 无法将参数类型“MyBloc”分配给参数类型“MyBloc函数(BuildContext)” 这就是我迄今为止所尝试的 我的集团 import 'package:flutter_bloc/flutter_bloc.dart'; enum MyEvent {increment, decrement} class My
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;
}
}
}
import'package:flatter_bloc/flatter_bloc.dart';
枚举MyEvent{递增,递减}
类MyBloc扩展了Bloc{
MyBloc():super(0);
@凌驾
流mapEventToState(MyEvent事件)异步*{
开关(事件){
case MyEvent.increment:
屈服状态+1;
打破
案例MyEvent.Decreation:
屈服状态-1;
打破
}
}
}
在主页中,我在点击按钮时调用下面的函数
Future<void> _routeToTodayTasks() {
return Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => BlocProvider<MyBloc>(
create: MyBloc(),
child: TodayTasks(),
)));
}
Future\u routeTodaytasks(){
返回导航器.push(
上下文
材料路线(
生成器:(BuildContext上下文)=>BlocProvider(
创建:MyBloc(),
子项:TodayStasks(),
)));
}
谁能告诉我我的代码有什么问题吗?
正如错误消息明确指出的那样,
BlocProvider
中的create参数接受语法为MyBloc函数(BuildContext)
的函数,但是您直接返回的是MyBloc
类的对象
因此,从如下函数返回bloc对象:
create: (context) => MyBloc(),
create接受一个返回bloc而不是bloc实例的函数,因此使用
(context)=>MyBloc(),