嘿,我一直將 bloc 觀察者作為我的 flutter 應用程式中的主要狀態管理工具,使用它使事情變得更容易。bloc 觀察器是我用來除錯和觀察正在發生的事情的主要工具。但是在遷移到 Bloc v8.0.0 后,bloc 觀察者停止了日志記錄。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
HttpOverrides.global = MyHttpOverrides();
await Hive.initFlutter();
Hive.registerAdapter(UserAdapter());
await Hive.openBox<User>('user');
await Firebase.initializeApp();
BlocOverrides.runZoned(
() {},
blocObserver: SimpleBlocObserver(),
);
...
}
這是主要功能的片段
Bloc observer
import 'package:flutter_bloc/flutter_bloc.dart';
class SimpleBlocObserver extends BlocObserver {
@override
void onEvent(Bloc bloc, Object? event) {
super.onEvent(bloc, event);
print(event);
}
@override
void onChange(BlocBase bloc, Change change) {
super.onChange(bloc, change);
print(change);
}
@override
void onCreate(BlocBase bloc) {
super.onCreate(bloc);
print(bloc);
}
@override
void onTransition(Bloc bloc, Transition transition) {
super.onTransition(bloc, transition);
print(transition);
}
@override
void one rror(BlocBase bloc, Object error, StackTrace stackTrace) {
print(error);
super.onError(bloc, error, stackTrace);
}
}
幫幫我
uj5u.com熱心網友回復:
你runApp()應該在里面BlocOverrides.runZoned()
void main() async {
WidgetsFlutterBinding.ensureInitialized();
HttpOverrides.global = MyHttpOverrides();
await Hive.initFlutter();
Hive.registerAdapter(UserAdapter());
await Hive.openBox<User>('user');
await Firebase.initializeApp();
BlocOverrides.runZoned(
() {
runApp(App())
},
blocObserver: SimpleBlocObserver(),
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/364085.html
上一篇:將sharedPreference值分配給構建中的變數
下一篇:使用浮動操作按鈕更改圖示顏色
