出现这个错误可能是因为在使用freezed包时没有定义dataloading这个类型。可以在定义freezed类时给出dataloading的定义,例如:
import 'package:freezed_annotation/freezed_annotation.dart';
part 'my_state.freezed.dart';
@freezed
abstract class MyState with _$MyState {
const factory MyState.initial() = _Initial;
const factory MyState.loading() = _Loading;
const factory MyState.loaded(List data) = _Loaded;
const factory MyState.error(String message) = _Error;
const factory MyState.dataLoading() = DataLoading; // 添加此行定义dataloading类型
}
这样,在Bloc中就可以使用DataLoading类型了:
import 'package:bloc/bloc.dart';
import 'package:my_app/my_state.dart';
class MyBloc extends Bloc {
MyBloc() : super(const MyState.initial());
@override
Stream mapEventToState(MyEvent event) async* {
yield const MyState.dataLoading(); // 使用DataLoading类型
// 处理其他事件
}
}
上一篇:bloccubitflutter出现“TypeError:Cannotreadpropertiesofnull(reading'getAllPostsRep')”
下一篇:Bloc的初始状态不再被发出