Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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/5/flutter/10.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
Android Flatter Bloc 7.0.0状态在迁移到空安全后未更新_Android_Flutter_Dart_Bloc - Fatal编程技术网

Android Flatter Bloc 7.0.0状态在迁移到空安全后未更新

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

我已经试着从bloc更新状态好几个小时了,但没有工作,我甚至试着在屈服之前检查状态的属性,所有属性都更新了,但是状态不会

这是我的密码

集团

  @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组并在那里共享您的问题链接,以便通知其他开发人员: