Flutter报错BlocProvider.of() called with a context that does not contain a Bloc of type **. £神魔★判官ぃ 2021-12-03 17:21 197阅读 0赞 # Flutter报错BlocProvider.of() called with a context that does not contain a Bloc of type \*\*. # 在使用flutter\_bloc框架创建bloc时,出现报错BlocProvider.of() called with a context that does not contain a Bloc of type \*\*.原因是在创建weight时,未给当前上下文提供bloc. eg: 1.打开A页面,并在A页面中使用SimpleBloc. `Navigator.push(context, MaterialPageRoute(builder: (context) => ARoute()));` 2.在A页面中创建SimpleBloc. class HomePage extends StatefulWidget { @override State<StatefulWidget> createState() => HomePageState(); } class HomePageState extends State<HomePage> { @override Widget build(BuildContext context) { final loginBloc = BlocProvider.of<LoginBloc>(context); ... } } 此时会收到上述报错异常,更正为: Navigator.push(context, MaterialPageRoute(builder: (context) { return BlocProvider( builder: (context) => SimpleBloc(), child: ARoute(), ); })); 即可。
还没有评论,来说两句吧...