扑克,如何在其他屏幕上使用Existing BLOC? [英] Flutter, how to use exist Bloc for other screens?

查看:10
本文介绍了扑克,如何在其他屏幕上使用Existing BLOC?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设A类是任意根的,它的子类是B、C和D类

(并非所有类都在同一层次结构中)

当我在类D中使用BlocConsumer或BlocBuilder时,我收到错误。

我只想重用A类和B类中使用的BLOC状态

有什么解决方案吗?谢谢

--更新

我说的是https://github.com/felangel/bloc/issues/74

除了将其作为导航器参数逐个传递给类之外,还有其他方法吗?

推荐答案

注意:我假定您正在使用flutter_bloc库,但即使您不是,其概念也是相同的。

您要访问区块必须位于您要访问此区块的所有屏幕/页面上方。问题的最简单解决方案是用BlocProvider

包装您的根Widget(可能MaterialApp)
runApp(
  BlocProvider<YourBloc>(
    create: (_) => YourBloc(), // create your BLoC here
    child: MaterialApp(...),
  ),
);

有关更多信息,我建议观看此视频:https://www.youtube.com/watch?v=laqnY0NjU3M

这篇关于扑克,如何在其他屏幕上使用Existing BLOC?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆