问题标签 [flutter-bloc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 构建函数返回 null,有问题的小部件是:BlocBuilder在 flutter_bloc 包中
我是flutter以及flutter_bloc的初学者,我试图在blocbuilder中获取小部件但得到“构建函数返回null。有问题的小部件是:BlocBuilder。构建函数绝不能返回null。” 下面是块代码以及来自控制台的空错误。
来自控制台日志的错误
flutter - 在构建期间调用的提供程序和flutter_bloc setState() 或markNeedsBuild()
我在我的应用程序中使用 provider 和 flutter_bluc。现在我正在努力解决这个问题:一个新状态被传递给 BlocBuilder,它重建了 Widget Tree UI 的一部分。我还想要更新我的bottomNavigationVisibility,它扩展了ChangeNotifier。我使用这个bottomNavigationVisibility 来更新小部件树的另一部分。
这样我就可以轻松地为我的 UIViews 恕我直言实现良好的分离逻辑。但是,现在我总是收到此错误:
在构建期间调用 setState() 或 markNeedsBuild()。
以下是代码示例:
在返回特定的块状态后,我应该如何更改我的代码以从小部件 A 更新我的 ChangeNotifier,这在小部件 B 中观察到?
另外,我可能是错的,并且将 Provider 用于带有 flutter_bloc 的单独 UI 部分是一个糟糕的组合吗?
flutter - BlocProvider.of() 使用不包含 Bloc 的上下文调用 - 即使它包含
首先,我确实知道 BLoC 应该如何工作,它背后的想法,我知道构造函数BlocProvider()
和BlocProvider.value()
构造函数之间的区别。
为简单起见,我的应用程序有 3 个页面,其中的小部件树如下所示:
App()
=> LoginPage()
=> HomePage()
=>UserTokensPage()
我希望我LoginPage()
能够访问,UserBloc
因为我需要登录用户等。为此,我将LoginPage()
构建器包装在App()
小部件上,如下所示:
这显然工作得很好。然后,如果用户成功登录,他将被导航到HomePage
。现在,我需要访问我的两个不同的块,HomePage
所以我用来进一步MultiBlocProvider
传递现有的UserBloc
并创建一个名为DataBloc
. 我这样做:
这也有效。当从HomePage
用户导航到UserTokensPage
. 在UserTokensPage
我需要我已经存在UserBloc
的我想通过BlocProvider.value()
构造函数传递。我这样做:
当我按下按钮导航到MyTokensPage
我收到错误消息:
我究竟做错了什么?是因为我提取PopupMenuButton
了以某种方式丢失块的小部件吗?我不明白我做错了什么。
flutter - 在颤振中从 Navigator.pushNamed 访问 bloc
我有一个routing
这样的:
如何将 bloc 传递给OthePage
小部件?
firebase - Flutter Bloc 与 firebase 查询有多种关系
所以我有一个 firebase 查询,其中:
user
文档 - 具有Spots
posts
集合的 id 数组 - 有多个post
文档,每个帖子都有单个“spotId”
spots
集合 - 有多个spot
文档,具有唯一 id obvs
现在要仅向用户显示该用户关注的 Spot 帖子,我必须:
迭代用户“spots 数组”(他关注的点)。然后对于spot id
这个数组中的每一个,我都必须对posts
“spotId”==这个id的集合进行一次firebase查询。因此,当我只有那些与 Spot 用户连接的帖子时,我必须对spots
集合进行另一个 firebase 查询,以获取用于帖子显示的特定 Spot 数据。
该方法如下所示:
然后我像这样使用它:
问题是:这有意义吗?因为看起来像一个小黑客。通常我希望这个posts
方法有一个流,但这里有一件事:当我监听这个post
方法 Steam 时,Firebase 将为event
id 数组中的每个 ID 返回新的。因此,如果数组将为 ["1", "2"],Future.wait(posts).then((waitedPosts)
则将返回 "1" 的帖子,然后返回 "2" 的帖子。
这就是为什么我做了这个奇怪的 hack - 我开始使用 flutter_bloc,所以不知道这是 hack 还是可接受的解决方案?
任何人都可以提供意见吗?
flutter - NoSuchMethodError:在 null 上调用了 getter 'bloc'
我是 Flutter 和 BLOC 的初学者,在尝试获取国家/地区列表数据时遇到问题。
错误是NoSuchMethodError:在 null 上调用了 getter 'bloc'。
下面是我的代码。我只是按照本教程https://www.youtube.com/watch?v=2DP3SEHucEk
这是国家列表小部件
这是国家供应商
和这个国家集团
flutter - Flutter,在一个块中使用一个块
我有两个 BLoC。
- 地产集团
- 地产尝试集团
我的应用程序基本上从 API 获取资产并以类似的方式显示它们
现在我想添加一个排序功能,但我只能通过特定状态访问庄园列表。
我想为需要该清单的任何集团提供遗产清单。
我所做的是,我创建了 EstateTryBloc,它基本上包含了作为状态的庄园列表。
当我在集团内部打印状态时,我得到了庄园列表,但我不知道如何在不同的集团中使用该列表。
仅显示初始状态。
我对各种答案持开放态度,请随时告诉我不同的方法是否会更好。
flutter - 使用不包含 Bloc 类型的 Bloc 的上下文调用 BlocProvider.of()
错误:I/flutter(5919):══╡ 小部件库发现异常╞═════════════════════════␕════════════ ═══════════════════════════ I/flutter(5919):在构建构建器时抛出了以下断言:I/flutter(5919):BlocProvider .of() 使用不包含 Bloc 类型的 Bloc 的上下文调用。I/flutter (5919):从传递给 I/flutter (5919) 的上下文开始找不到祖先:BlocProvider.of>()。我/颤振(5919):
如果您使用的上下文来自 BlocProvider 上方的小部件,则可能会发生这种情况。I/flutter (5919): 使用的上下文是: BlocBuilder, dynamic>(dirty, state: I/flutter (5919): _BlocBuilderBaseState, dynamic>#55a7d(lifecycle state: created)) I/flutter (5919): 相关导致错误的小部件是:I/flutter(5919):MaterialApp /lib/main.dart:35:12
这是我的主要内容
MaterialApp 小部件
flutter - 无状态小部件中的非最终字段
首先,我需要说,我不确定 stackoverflow 是否适合问这个问题,但除了社区之外,我没有人可以问,因为我们在小型初创公司工作,除了我们两个之外,没有 Flutter 开发人员。
我(大约一年开发,大约半年时间学习flutter)和一个有点“10年经验的资深移动开发者”的激烈讨论。
讨论的主题是在无状态小部件中使用非最终字段。他正在这样做,他正在编写这样的代码。他说这是解决他的问题的最好方法。我说这是个坏主意,要么他需要有状态的小部件,要么他的设计很糟糕,他不需要非最终字段。
所以我的问题是:是否存在在无状态小部件中使用非最终字段是合理的情况?
他的论点:
- 我们使用的是 BLoC 模式,因为在 StatelessWidget 我们有 BlocBuilder,这个 StatelessWidget 有状态。
- 愚蠢的 Dart linter 不知道我们的“BLoC 情况”
- 如果我们使用有状态的小部件,代码的可读性会变差。
- 如果我们将使用有状态小部件,我们将获得额外的开销。
我知道前两个论点很愚蠢,只有第四个论点值得讨论。
这个问题的可能重复也不能说服我的同事。 Flutter:无状态小部件中的可变字段
请看他的代码:
android - 颤振错误:每个孩子必须恰好布置一次。关于建筑布局
我正在使用flutter_bloc。
我有这样的代码:
当启动我的应用程序时,我看到了我想要的 appBar,但我没有看到正文中的任何文本(我应该看到 count1、count2 或 count3),但我得到了错误:
每个孩子必须恰好布置一次。”参考第 5 行 -
return new Scaffold(
当然,我在 flutter_bloc 页面、https: //flutter.dev/docs/development/ui/layout/tutorial、here和 google 上查找了信息。