问题标签 [cubit]
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 - Flutter,如何将exist Bloc用于其他屏幕?
假设 A 类是任意根的,其子类是 B、C 和 D 类。
(并非所有类都在同一层次结构中)
当我在 D 类中使用 BlocConsumer 或 BlocBuilder 时,出现错误。
我只想重用 A 类和 B 类中使用的 Bloc 状态。
有什么解决办法吗?谢谢
- 更新
我说的是这个https://github.com/felangel/bloc/issues/74
除了将它作为导航器参数一个一个地传递给类之外,还有其他方法吗?
flutter - Cubit - Flutter 错误 - “查找已停用小部件的祖先是不安全的”
我试图在注销后导航到登录屏幕。注销后,屏幕可以导航,但会引发错误:
导航子列表的代码:它是一个无状态的 Widget-
LoginCubit代码:
它正在使用 Navigator.of(context).pushNamed('routName'),但我无法使用它,因为在没有登录的情况下导航回 homeScreen。
flutter - 如何在颤动中忽略肘部的状态?
我正在使用 cubit 来管理小部件的状态,并且我只想在发出特定类型的状态时才更新小部件。
我创建了一个名为的状态类TestState
,这个类目前有 3 个状态:初始、值更新、比例更新
这个类叫做TestData
usesTestState
和 extends Cubit
。
基本上,当用户通过捏屏幕更新缩放值时,这个类会发出TestScaleUpdated
状态,当用户播放某些东西时,它会发出TestValueUpdated
状态。
在 UI 中,
我试过这段代码。TestData
这 2 个小部件在发出某些状态时会更新其状态。这段代码的问题是,如果用户播放某些东西,由于TestScaleUpdated
不会发出状态,小部件 B 的状态会回到初始状态,始终显示“100 %”。
如果用户更新比例,则TestValueUpdated
不会发出,因此小部件 A 将始终具有初始状态,显示“00:00.000 / 00:04.800 | 1.1.1”。
所以我现在要执行的是,我想让小部件忽略状态更新。例如,在BlocBuilder
这里的问题,如果我解释得更详细一点,是这样的:假设用户玩了一些东西,所以小部件 A 的文本更改为00:10.000 / 00:40.000 | 2.0.0
。
然后,当用户尝试更改比例值时,不仅小部件 B 受到影响,而且小部件 A 也受到影响。但是由于TestData
只发出TestScaleUpdated
状态,小部件 A 的文本会返回到00:00.000 | 00:04.800 | 1.1.1
它应该保留其文本和状态的状态。
我只想在发出时更新小部件 B,并在发出时只TestScaleUpdated
更新小部件 A。TestValueUpdated
简单地说,用一个肘类以不同的方式管理 2 个或更多小部件。
我是否必须将这 2 个状态合并TestScaleUpdated
为TestValueUpdated
1 个状态,每个小部件包含 2 个状态message
?
或者如果发出的状态不满足特定条件,我可以保留小部件的状态吗?
flutter - 我正在借助 bloc(cubit)创建异步计数器应用程序,每次计数器返回 0 时我都会发出加载状态
我正在使用 BLoC(cubit)在颤振中创建一个异步计数器应用程序。当我发出加载状态时,计数器不会增加而是返回到 0。如何解决这个问题?
代码:
flutter - 如何在颤动块模式中在一肘中添加多个状态?
我正在用 Flutter 开发一个应用程序,它执行基于 OTP 的身份验证来登录。之前我在类本身中管理状态,以便我可以使用 setState 方法相应地呈现 UI。然后我改成flutter_bloc cubit模式来管理状态。但我不明白如何在一肘内跟踪多个状态。
考虑以下状态和肘部的代码,
在这里,最初,我将地图内的两个值都设置为 false。当用户点击按钮设置isPhoneSubmitted
为真。几秒钟后isOtpArrived
变为真(在获得 OTP 后的未来)。但是,我认为这不是实现该模式的正确方法。考虑如果我在一个类中有 10 个属性,并且每次调用 emit 方法时我都会发送一个包含 10 个属性的映射。
有人可以帮助我理解或实施最佳实践来保持/更新 Cubit 正在收听的小部件的多个状态吗?
此外,在小部件中,这就是我收听更改的方式,
flutter - Flutter - Cubit - 加载状态 - 管理到页面的重定向 - 页面的 2 个构建
对不起我的英语我是法国人。
我在 Flutter (dart) 中开发,当我想在表单提交后重定向到页面时,我在使用 Cubit (Bloc) 的代码中遇到了一个奇怪的行为(使用“反应式表单”包,但也使用经典表单)和步骤Cubit 加载状态:我看到对页面的 2 次调用(2 次构建),这会产生一种“颤动”效果,这意味着最终用户会看到界面充电两次。
这是我在 Flutter 中的第一个应用程序。
我创建了一个包含登录表单的应用程序:提交表单后,我打印另一个表单。
在我的应用程序开始时,我使用“auto_route”包,每次在登录过程后单击文本字段时,我都会刷新页面。所以我无法在文本字段内写任何东西。
我在想问题来自“反应式表单”包,所以我向这个包的 github 存储库打开了一个问题:问题已打开
但是因为我没有看到问题出在哪里,所以我回到了我的应用程序的更基本的开发以及管理页面路由的更基本的方法,以便向“反应式表单”包的维护者解释我的问题,一个非常好的人,真的很想帮助我。
但即使是维护者也不明白我为什么会出现这个问题。
现在我在一页中减少了我更简单的代码。
目前,当我在文本字段内单击时,我没有遇到问题,但我看到该界面构建了两次,并且 Cubit 加载状态可能解释了为什么我遇到了最初的问题。
所以现在我试着理解为什么在调试我的原始代码之前会构建两次接口。
我认为我的主要问题是 Cubit 加载状态正在等待同步小部件返回但是当我尝试重定向到另一个页面时它需要一个异步操作(使用“auto_route”包或更简单地使用“Navigator.push()”操作)。
但我不知道如何在等待经典小部件的 Cubit 加载状态中调用 Future。
我试过这个:
所以我认为返回的小部件“return Container()”在 Navigator.push() 再次构建界面之后构建了一次界面。我尝试直接返回“Navigator.push”,但出现错误(因为它不是小部件)。
我真的很感激这个问题的一些帮助。谢谢。
这是我的完整代码(更简单的版本)。
我的 pubspec.yaml 文件:
我的代码:
我的“颤振医生-v”结果:
flutter - Flutter Cubit:获取存储变量的好方法?
我第一次使用 Flutter 和 Cubit,我想知道这是否是检索存储变量的好方法,在我的 cas 中是当前登录的用户。
登录后,用户可以转到他的个人资料页面并查看/更新它。
登录表单:
AuthCubit:登录方式:
个人资料页:
任何建议/建议都非常感谢。谢谢!
flutter - 将json解析成flutter List到地图
您好,我想解析 Json,我遇到了这个问题,有什么问题请帮助
错误是 'List' 不是类型 'Map<String, dynamic>'
模型的子类型
我做了这个(AppCubit.dart )
在Dio Helper 我做了通用功能来使用它
这是来自json的小数据
最后这是我出现的错误
任何帮助我都会感激
flutter - 使用cubit订阅,需要创建Timer(streamsubscription with cubit flutter)
我试图用 bloc cubit 创建一个计时器,但没有在状态下使用它,但它会导致内存泄漏。
我如何用 Cubit 创建一个计时器?即,可能使用对这个计时器的订阅(带有cubit颤动的streamsubscription)
flutter - 在 Cubit 函数调用后未执行 BlocListener
所以,我有一个带有 POST 一些数据的函数的cubit。我有三个状态,DataLoading
和DataError
为DataLoaded
我的肘。
当用户点击一个按钮时,我调用cubit中的函数。之后,我有一个 BlocListener 等到 Cubit 发出DataLoaded
状态。问题是侦听器正在对状态变化做出反应。
我试过await
在read()
通话中使用,但没有奏效。我如何对这里的状态变化做出反应?谢谢。