Android Flatter Bloc 7.0.0状态在迁移到空安全后未更新
我已经试着从bloc更新状态好几个小时了,但没有工作,我甚至试着在屈服之前检查状态的属性,所有属性都更新了,但是状态不会 这是我的密码 集团Android Flatter Bloc 7.0.0状态在迁移到空安全后未更新,android,flutter,dart,bloc,Android,Flutter,Dart,Bloc,我已经试着从bloc更新状态好几个小时了,但没有工作,我甚至试着在屈服之前检查状态的属性,所有属性都更新了,但是状态不会 这是我的密码 集团 @override Stream<HomeState> mapEventToState( HomeEvent event, ) async* { if (event is HomeStarted) { yield HomeLoadSuccess(carts: []); } if (even
@override
Stream<HomeState> mapEventToState(
HomeEvent event,
) async* {
if (event is HomeStarted) {
yield HomeLoadSuccess(carts: []);
}
if (event is HomeCartAdded) {
var currentState = state as HomeLoadSuccess;
var carts = addCart(currentState.carts, event.item, event.qty);
print(carts);
//output carts working as expected but the state doesnt change/update
//yield HomeInitial(); uncomment this line works but meh
yield currentState.copyWith(carts: carts);
}
}
状态
abstract class HomeState extends Equatable {
@override
List<Object> get props => [];
}
class HomeInitial extends HomeState {}
class HomeLoadInProgress extends HomeState {}
class HomeLoadSuccess extends HomeState {
final List<Cart> carts;
HomeLoadSuccess({
required this.carts,
});
HomeLoadSuccess copyWith({List<Cart>? carts}) {
return HomeLoadSuccess(
carts: carts ?? this.carts,
);
}
@override
List<Object> get props => [carts];
}
抽象类HomeState扩展了Equalable{
@凌驾
列表获取道具=>[];
}
类HomeInitial扩展了HomeState{}
类HomeLoadInProgress扩展了HomeState{}
类HomeLoadSuccess扩展HomeState{
最终清单推车;
成功回家({
需要这个。手推车,
});
HomeLoadSuccess copyWith({List?carts}){
返回HomeLoadSuccess(
手推车:手推车??这个,手推车,
);
}
@凌驾
列表获取道具=>[carts];
}
项目类别
class Item extends Equatable {
int id;
String name;
String picture;
double price;
Item({
required this.id,
required this.name,
required this.picture,
required this.price,
});
@override
List<Object> get props => [id, name, picture, price];
}
//class item
class Cart extends Equatable {
Item item;
double qty;
double total;
Cart({
required this.item,
required this.qty,
required this.total,
});
@override
List<Object> get props => [item, qty, total];
}
类项扩展了equalable{
int-id;
字符串名;
弦乐图;
双倍价格;
项目({
需要这个.id,
需要此名称,
需要这张照片,
需要这个价格,
});
@凌驾
列表获取道具=>[id、名称、图片、价格];
}
购物车类
class Item extends Equatable {
int id;
String name;
String picture;
double price;
Item({
required this.id,
required this.name,
required this.picture,
required this.price,
});
@override
List<Object> get props => [id, name, picture, price];
}
//class item
class Cart extends Equatable {
Item item;
double qty;
double total;
Cart({
required this.item,
required this.qty,
required this.total,
});
@override
List<Object> get props => [item, qty, total];
}
//类项
类Cart扩展了equalable{
项目;
双倍数量;
双倍总数;
推车({
需要此项,
所需数量,
需要这个。总计,
});
@凌驾
列表获取道具=>[项目、数量、总数];
}
我的代码有什么问题吗?或者我在这里遗漏了什么?
我能让这段代码与bloc的上一个版本一起工作。。谢谢调试控制台中没有显示错误?这个bloc在7.0.0更新之前工作正常吗?@SimonSot没有错误,是的,这段代码与bloc 6.1.3的早期版本一起工作,我不认为是它的bloc库导致了这一问题。升级后可能会出现颤振,因为现在必须先产生另一个状态,然后才能产生上述状态才能使此代码正常工作。请加入LinkedIn组并在那里共享您的问题链接,以便通知其他开发人员: