Flutter bloc新版本已弃用mapEventToState

Err*_*rrr 6 flutter bloc flutter-bloc

我有一个集团层次结构,在子集团中mapEvenToState我使用了super.mapEventToState. 在 bloc 包的较新版本中,mapEventToState已弃用。

我应该用什么来代替super.mapEventToState?我知道on<Event>,但是相当于什么super.mapEventToState

Bar*_*ban 10

在你的集团班级中应该是这样的

class ProductsBloc extends Bloc<ProductsEvent, ProductsState> {
  final GetMoreProducts moreProductsUsecase;
  final GetProducts getProductsUsecase;

  ProductsBloc({
    required this.moreProductsUsecase,
    required this.getProductsUsecase,
  }) : super(ProductsInitial()) {

    on<GetProductsEvent>(_onGetProducts);

  }
Run Code Online (Sandbox Code Playgroud)

函数调用可以是这样的

_onGetProducts(GetProductsEvent event, Emitter<ProductsState> emit) async {
    emit(LoadingProductsState());
    var result = await getProductsUsecase();
    result.fold(
        (l) => emit(LoadFailedState()),
        (r) => { emit(ProductsLoadedState(products: products, isReachedMax: false)),
            });
  }
Run Code Online (Sandbox Code Playgroud)