Flutter,BlocProvider 应该在 main 方法中吗?
Posted
技术标签:
【中文标题】Flutter,BlocProvider 应该在 main 方法中吗?【英文标题】:Flutter, Should BlocProvider be in main method? 【发布时间】:2021-11-20 07:30:46 【问题描述】:我在一个类中声明了一个 BlocProvider 并在它下面的类中使用了 Bloc Builder,它工作了。
但是,当使用 Navigator 并在该子类的子类中声明 BlocBuilder 并使用上面声明的相同 Bloc 时,出现错误。
但是,当在 main 方法(在 MaterialApp 上方)中声明 BlocProvider 时,您可以使用多个 BlocBuilder,在任何层都只有一个 BlocProvider。
我只想声明一次 BlocProvider,在多个地方使用 BlocBuilder 并共享状态。除了main方法还有别的办法吗?
【问题讨论】:
【参考方案1】:根据documentation,使用 BlocProvider 包裹您的主屏幕。您也可以参考this question,这似乎与您自己的问题有关。
【讨论】:
thx 我赞成我猜 BlocProvider.value 是一个关键。你还知道其他的好方法吗?以上是关于Flutter,BlocProvider 应该在 main 方法中吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter App 中正确使用 BlocListener 和 BlocProvider
Flutter cubit blocprovider 找不到正确的提供者
Flutter / BLoC - 使用不包含 ArticlesBloc 类型的 Bloc 的上下文调用 BlocProvider.of()
flutter_block:BlockProvider 与 RepositoryProvider