Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 参数类型';MyBloc';can';不能分配给参数类型';MyBloc函数(构建上下文)_Flutter_Dart_Bloc_Flutter Bloc - Fatal编程技术网

Flutter 参数类型';MyBloc';can';不能分配给参数类型';MyBloc函数(构建上下文)

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

我正在尝试将添加到我的颤振应用程序中。我有主页,当点击主页上的一个按钮时,需要导航到另一个页面。导航可以正常工作,但当使用BlocProvider包装组件时,组件会低于wrror

无法将参数类型“MyBloc”分配给参数类型“MyBloc函数(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;
    }
  }
}
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(),