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

使用不包含 Bloc 类型的上下文调用 Flutter BlocProvider.of()

使用不包含 Bloc 类型的上下文调用 Flutter BLoC BlocProvider.of()