新的集团模式 - 它是如何运作的?

New bloc pattern - How it works?

我是 Flutter 和 dart 的初学者。我现在开始学习集团。拿到这段代码的时候,真的没看懂,怎么用的?

 CounterBloc() : super(0) {
    on<Increment>((event, emit) => emit(state + 1));
  }

  1. 他们在调用超级构造函数吗?
  2. 定义它的构造函数?
  3. 为什么使用关键字?
  4. 第二行如何工作?

几件事。 First bloc 在这里为您提供一个抽象层,因此它并不重要为什么 它有效,但您应该知道如何 使用它。

但是,这里是您问题的答案:

  1. super 构造函数用于 (super(0)) 设置您的 bloc
  2. 的初始状态
  3. 你写的是你的bloc构造函数的定义是的,不知道这里的问题是什么
  4. on 不是关键字。这是 bloc class 的 method。您可以按住 ctrl 并单击它以查看它是如何定义的,但它 不是 dart 关键字。
  5. 第二行基本上注册了给定的回调(在你的情况下 (event, emit) => emit(state + 1))并将其映射到事件类型,以便在以后使用事件时 (myBloc.add(Increment())) bloc将调用给定的回调。

我希望它更清楚。不要犹豫,深入研究 bloc documentation,因为它是一种宝贵的资源(而且非常漂亮 :D)