我是Flutter初学者,即将使用Bloc. 但出现了这个错误消息,我try 使用"extends StateStreamable CalculatorEvents"或"implants" 但它不起作用.请帮助我解决这个错误.谢谢

"CalculatorBloc"不符合类型参数"B"的绑定"StateStreamableCalculatorEvents".(Documentation) Try using a type that is or is a subclass of 'StateStreamable

enter image description here

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:calc/state/bloc/calculator_bloc.dart';

class CalculatorScreen extends StatelessWidget  {
    const CalculatorScreen({super.key});

    @override
    Widget build(BuildContext context) {
        return BlocBuilder<CalculatorBloc, CalculatorEvent> (
            builder: (context, state) {
          return Scaffold(
          resizeToAvoidBottomInset: false,
          body: SafeArea(
            child: Container(
                color: AppColors.mainBackgroundColor1,
                width: MediaQuery
                    .of(context)
                    .size
                    .width,
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Text("MAIN"),
                  ],
                )),
          ),
        );
      },
    );
  }
}
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:meta/meta.dart';
import 'package:bloc/bloc.dart';

part 'calculator_event.dart';
part 'calculator_state.dart';

class CalculatorBloc extends Bloc<CalculatorEvent, CalculatorState> {
  CalculatorBloc() : super(const CalculatorInitial(0)) {
    //on<CalculatorCommandEvent>((event, emit) => onCalculatorCommandEvent(event, emit));
    on<CalculatorInitPressed>(
      (event, emit) => emit(CalculatorInitial(0)),
    );
  }

@immutable
abstract class CalculatorEvent {
  const CalculatorEvent();
}

class CalculatorInitPressed extends CalculatorEvent {
  const CalculatorInitPressed();
}

@immutable
abstract class CalculatorState {
  final int value;

  const CalculatorState(this.value);
}

class CalculatorInitial extends CalculatorState {
  const CalculatorInitial(super.value);
}

使用Flutter bloc并编写应用程序.

推荐答案

根据doc,在BlocBuilder中您应该使用CalculatorState而不是CalculatorEvent:

@override
Widget build(BuildContext context) {
    return BlocBuilder<CalculatorBloc, CalculatorState> (

Flutter相关问答推荐

Flutter 导致底部溢出

为什么我不能看到类音频源在flutter?'

为什么我需要等待重新访问Firestore数据库,即使它已经做了之前?

使用Flutter 提供程序包加载状态应用程序时,在自定义按钮中显示CircularProgressIndicator

想更新ListView上的索引点击块Flutter

使用自定义控制器将项插入到ListView中时行为不正确

自定义ItemBuilderFlutter

使用Ffltter CREATE创建项目时,androidManifest.xml中缺少包属性

Flutter:如何在 Future 函数上添加网络判断和 showDialog

Flutter 中的 Provider 不会在第一次构建 App 时返回

如何在Flutter中动态绘制一条从A点到B点的线?

将状态维护到 asyncNotifier

切换 Firebase 项目后 Flutter FirebaseAuthException 'configuration-not-found'

转换函数上传文件上传Uint8List

setState 方法有时有效,有时无效

从子集合sem中获取参考学年&&课程名称的值

具有 BLOC 和存储库模式的 Flutter Workmanager

在flutter web中重新加载页面时保留一些状态数据的有效方法是什么?

使用 Firebase/Flutter 进行应用判断 - 100% 无效请求

在 Flutter Bloc 中具有称为 status 的属性的一种状态或不同的状态,哪个更可取?