gpt4 book ai didi

android - Bloc 观察员不显示日志

转载 作者:行者123 更新时间:2023-12-04 23:46:20 25 4
gpt4 key购买 nike

嘿,我一直将 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(),
);
...
}
这是主要功能的 fragment 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 onError(BlocBase bloc, Object error, StackTrace stackTrace) {
print(error);
super.onError(bloc, error, stackTrace);
}
}
帮帮我

最佳答案

您的 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(),
);
}

关于android - Bloc 观察员不显示日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70070523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com