如何在不使用 flutter bloc 中的 BlocBuilder 的情况下为 BlocProvider.of 提供上下文
How to provide context to BlocProvider.of without using BlocBuilder in flutter bloc
这是我的 BlocProvider 部分代码:
late BuildContext _context;
@override
Widget build(BuildContext context) {
final _formKey = GlobalKey<FormState>();
return BlocProvider<AccountBloc>(
create: (context) {
_context = context;
return AccountBloc();
},
child: Scaffold(
在 onPressed 中我使用 this.context:
BlocProvider.of<AccountBloc>(this._context)..add(AddAccountEvent(account: account));
当我 运行 时,错误显示:
LateInitializationError: Field '_context@30149156' has not been initialized.
删除 late BuildContext _context;
并将脚手架包裹在 Builder
小部件中。所以提供的上下文是一个更新的上下文,你可以简单地使用 BlocProvider.of<AccountBloc>(context)..add(AddAccountEvent(account: account));
这是我的 BlocProvider 部分代码:
late BuildContext _context;
@override
Widget build(BuildContext context) {
final _formKey = GlobalKey<FormState>();
return BlocProvider<AccountBloc>(
create: (context) {
_context = context;
return AccountBloc();
},
child: Scaffold(
在 onPressed 中我使用 this.context:
BlocProvider.of<AccountBloc>(this._context)..add(AddAccountEvent(account: account));
当我 运行 时,错误显示:
LateInitializationError: Field '_context@30149156' has not been initialized.
删除 late BuildContext _context;
并将脚手架包裹在 Builder
小部件中。所以提供的上下文是一个更新的上下文,你可以简单地使用 BlocProvider.of<AccountBloc>(context)..add(AddAccountEvent(account: account));