Skip to content

Bloc3

BlocObserve

BlocObserver 可以用來觀察所有 cubits。

//cubit.dart
class MyBlocObserver extends BlocObserver {
  @override
  void onCreate(BlocBase bloc) {
    super.onCreate(bloc);
    print('onCreate -- ${bloc.runtimeType}');
  }

  @override
  void onChange(BlocBase bloc, Change change) {
    super.onChange(bloc, change);
    print('onChange -- ${bloc.runtimeType}, $change');
  }

  @override
  void onError(BlocBase bloc, Object error, StackTrace stackTrace) {
    print('onError -- ${bloc.runtimeType}, $error');
    super.onError(bloc, error, stackTrace);
  }

  @override
  void onClose(BlocBase bloc) {
    super.onClose(bloc);
    print('onClose -- ${bloc.runtimeType}');
  }
}
//main.dart
void main() {
  Bloc.observer = MyBlocObserver();
  // Use cubits...
}

程式碼效果

可以看出BlocObserver正在觀察此cubit的狀態變化
Alt text


Reference:
https://bloclibrary.dev/#/fluttercountertutorial

Alt text


Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments