这通常是因为Bloc builder的initialState返回了一个String类型,但Bloc的State类型是int。解决方法是确保initialState返回一个int类型值。以下是一个示例代码:
class MyBloc extends Bloc {
@override
int get initialState => 0;
@override
Stream mapEventToState(MyEvent event) async* {
if (event is IncrementEvent) {
yield state + 1;
} else if (event is DecrementEvent) {
yield state - 1;
}
}
}
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocBuilder(
builder: (context, state) {
return Text(
'$state',
);
},
);
}
}