问题标签 [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.

0 投票
3 回答
14431 浏览

mvvm - MVVM 与 Bloc 模式

我正在使用 Flutter 创建一个新应用程序,并且我正在尝试设计它,将业务逻辑与视图分离。

我读过 Bloc 和 MVVM(我知道还有其他模式,但这些是我更喜欢的模式),但我不明白它们之间的区别。在我看来,它们几乎相同。

有谁可以帮我理解它们?

0 投票
1 回答
1215 浏览

dart - Flutter - rxdart - 多次读取流

我有一个简单的应用程序,它有 2 个选项卡,我正在尝试使用 bloc 模式来移动数据。

流程 1: 1. 使用种子值创建应用程序启动块 2. 为页面运行构建方法并显示数据 3. 用户切换到另一个选项卡 4. 用户切换回来,在这种情况下没有数据显示,因为 steam 有已经被读过一次。

一种选择是重新订阅以再次发送种子值。

流程 2: 1. 使用种子值创建应用程序启动块 2. 为页面运行构建方法并显示数据 3. 用户更改过滤器 - 加载流数据的触发 3. 用户切换到另一个选项卡 4.用户切换回来,在这种情况下没有数据显示,因为蒸汽已经被读取过一次。

在这种情况下,我希望过滤器保持原位并且不想使用种子值

集团

0 投票
1 回答
461 浏览

flutter - 在flutter_bloc包中处理对象后如何处理调度?

我正在使用 flutter_bloc 和 bloc 包来管理状态。

在子页面中,我正在初始化 bloc 并在父页面后处理 bloc 对象。

当我立即返回父页面时,那个时间块抛出错误Unhandled Exception: Bad state: Cannot add new events after calling close,因为在加载的子页面上我正在调用块中的 api。完成 api 后触发状态。那时已经处理了块对象。

那么当 bloc 已经处置时如何处理这些?

0 投票
1 回答
4430 浏览

dart - 对 Bloc 使用单例

我知道我的一些 BLOC 在整个应用程序生命周期中只会被实例化一次。将这些 BLOC 类创建为单例是不好的做法还是反模式。Singleton 可以帮助在任何地方访问 BLOC,并确保该类只被实例化一次。

我还可以确保在另一个 BLOC 中使用一个 BLOC 并传递单例时是安全的,就好像它是“只是另一个”实现一样。

这样做可能会产生什么影响?

编辑

我有两个集团

  1. AuthenTicationBloc - 这是一个全球集团
  2. UserBloc - 应该只存在一次(单例)

AuthenTicationBloc 必须使用其中的 UserBloc。如果我将 UserBloc 设为单例,那么将其用作 UserBloc().

否则我必须在 AuthenTicationBloc 中创建 UserBloc 作为实例变量,如下所示:

如果我必须在其他地方使用小部件链中的 UserBloc,我必须使 UserBloc 也全局提供如下,对吗?

0 投票
1 回答
2351 浏览

dart - 如何清除块中的数据?

就像现在一样,当用户尝试单击登录时,按钮会变为进度条。我遇到的麻烦是我无法使用流将进度条变回按钮。

我有点复制我在网上找到的教程,我正在尝试修改它以适应我的需要,所以我还不是 100% 理解 bloc。

这是我有点关注的教程

https://medium.com/flutterpub/when-firebase-meets-bloc-pattern-fb5c405597e0

这是登录按钮

在我的内心深处,login_bloc.dart我认为重要的是要知道什么?

0 投票
1 回答
2454 浏览

flutter - 如何在 Flutter Hot Reload 上保持 BLoC 状态?

我喜欢 Flutter 热重载,但发现我的 BLoC 中的状态没有保留。每次我进行热重载时它都会重置。

有没有办法保存该状态,使其在热重载后仍然存在?(我可以接听电话还是什么?)

谢谢你的时间!

0 投票
3 回答
772 浏览

dart - BLoC 状态管理模式(Flutter)

Google 建议使用BLoC 模式来管理 Flutter 应用程序的状态。和 一起阅读rxdart,这是最方便、最完整的状态管理方式。所以,我想了解和学习这种模式。

不幸的是,似乎没有完整而详尽的文档。有人可以清楚地向我解释这种模式及其在 Flutter 应用程序中的实现吗?

谢谢!

0 投票
1 回答
92 浏览

firebase - rxdart BehaviorSubject 事务

在firebase中,我们可以像这样进行交易

我想知道我们可以对 BehaviorSubject 有同样的看法;像这样的东西

0 投票
0 回答
417 浏览

forms - 如果键盘类型发生变化,Flutter TextField 焦点会重建小部件

尝试在 Flutter 上构建我的第一个应用程序,但遇到了问题。搜索了很多,但每个人都有一些不同的问题(键盘关闭、流调用等)

我尝试使用 BLoC 模式和 rxDart 来监听和验证字段。如果所有TextFields 都相同keyboardType,那么一切正常,但是我有不同的输入(数字,链接,...),每次我点击输入时,键盘都会改变,并触发 Widget 重建。

有什么方法可以保持我的 Streams 在键盘更改时重建小部件的完整性?

编辑:实际上,如果我ShowDialog()在该页面上使用并使用Navigator.of(context).pop();. 我知道这是一个页面更改并且小部件被重建,但我怎样才能将数据保存在 BLoC 的小部件流中?

或者如何在小部件重建后添加到接收器我的输入值?

0 投票
1 回答
2175 浏览

dart - 如何使用 Image_picker 和 bloc 更新图像

我是 Bloc 模式的新手,所以在更新使用image_picker选择的图像时遇到了一些麻烦。

到目前为止,这是我的代码

image_picker_provider.dart

存储库.dart

表单.dart

到目前为止,我所拥有的关于我的个人资料图片的所有信息

create_account_bloc.dart

我试图复制其他部分并使其工作,但每次在旅途中我似乎都会遇到错误。

关于如何从图库中选择图像并更新的任何想法_bloc.profilePicture

谢谢!