信息:“runZoned”已弃用,不应使用。这将在 v9.0.0 中删除。使用 Bloc.Bloc.transformer 代替

2023-11-23

我在尝试在 DartPad 上运行代码时遇到此问题。

'runZoned' is deprecated and shouldn't be used. This will be removed in v9.0.0. Use Bloc.Bloc.transformer instead...

正确的更换方法是什么?

code:

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

void main() {
  BlocOverrides.runZoned(
    () => runApp(const App()),
    blocObserver: AppBlocObserver(),
  );
}

/// Custom [BlocObserver] that observes all bloc and cubit state changes.
class AppBlocObserver extends BlocObserver {
  @override
  void onChange(BlocBase bloc, Change change) {
    super.onChange(bloc, change);
    if (bloc is Cubit) print(change);
  }

  @override
  void onTransition(Bloc bloc, Transition transition) {
    super.onTransition(bloc, transition);
    print(transition);
  }
}

解决方案是:

void main() {
  Bloc.observer = AppBlocObserver();
  runApp(const App());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信息:“runZoned”已弃用,不应使用。这将在 v9.0.0 中删除。使用 Bloc.Bloc.transformer 代替 的相关文章

随机推荐