草庐IT

Flutter BloC 不刷新我的 View (计数器应用程序)

我正在尝试使用带有计数器测试应用程序的BloC库,但是当我使用对象来增加/减少我的计数器时,我的观点有点问题。MyObject.MyProperty递增或递减但我的View未刷新。为什么?Sampleapp使用简单的int变量。我的对象代码:import'dart:async';import'package:flutter/material.dart';import'package:bloc/bloc.dart';import'package:flutter_bloc/flutter_bloc.dart';voidmain(){runApp(App());}classAppextend

dart - 在 BLoC 之间共享数据的干净方式

想象以下伪Bloc:classBlocA{BlocA(){//someinitialization}Streama;Streamb;Streamc;}classBlocB{BlocB(){//someinitialization}Streamd;//dependantonapieceofdatathatresidesinBlocA}将信息从一个Bloc传递到另一个Bloc的最简洁方式是什么?如何处理这种依赖性? 最佳答案 您可以将BlocA作为参数注入(inject)您的BlocB。classBlocA{Streama;}class

flutter - 如何在 flutter 中使用 BLoC 模式添加回调?

我在单击按钮时调用登录api,我能够从服务器获得响应,但在单击按钮时它不显示进度条。我为此使用BLoC模式。这是代码,import'package:flutter/material.dart';import'../blocs/bloc.dart';import'../blocs/provider.dart';import'../models/login_response.dart';classLoginScreenextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnProvider(child:n

dart - 实现 BLoC 的小部件是否一定是 StatefulWidgets?

我是BLoC模式的新手,出现了一个我在其他地方找不到的问题。使用flutter_bloc库,我可以访问BlocBuilder小部件,只要BLoC的状态发生变化,它就会重建。由于我正在处理独立于框架的状态,是否有必要将父小部件(比如包含来自BLoC的数据的卡片)声明为有状态的?我已经能够成功地将BlocBuilders实现为有状态和无状态小部件的子级,但我无法决定哪种是最佳实践,或者是否存在任何情况下有状态是必要的。如果您不需要更新BlocBuilder之外的任何内容,我想我会说无状态很好,但是如果您要添加类似RefreshIndicator的东西并且必须实现,则需要有状态逻辑(并有条件

Flutter-Firestore Bloc

我想知道如何为Firestore实现Bloc模式。当从flutter默认应用程序应用Bloc增量应用程序时,看起来像这样。classIncrementBlocimplementsBlocBase{int_counter;StreamController_counterController=StreamController();StreamSinkget_inAdd=>_counterController.sink;StreamgetoutCounter=>_counterController.stream;StreamController_actionController=Stream

flutter - 使用 BLoC 模式和 StatelessWidget 时如何调用 dispose

我试图理解BLoC模式,但我无法弄清楚在我的示例中何时何地调用dispose()。我正在尝试了解Flutter中的各种状态管理技术。我提出了一个使用StatefulWidget、scoped_model和流构建的示例。我相信我终于想出了如何使用“BloC”模式使我的示例工作,但是我在调​​用dispose()方法时遇到问题,因为我只使用StatelessWidgets。我尝试将PageOne和PageTwo转换为StatefulWidget并调用dispose()但最终在页面之间移动时过早地关闭了流。在我的示例中,我是否完全不必担心手动关闭流?import'package:flutte

asynchronous - 初始化我的 BLoC 时应该如何处理异步调用?

我正在使用Provider包提供一个BLoC对象(手写,不使用bloc或flutter_bloc包)到我的flutter应用程序。我需要进行一些异步调用才能正确初始化BLoC(例如,来自SharedPreferences的设置和其他保存的信息)。到目前为止,我已经将那些async调用编写到几个单独的函数中,这些函数在我的BLoC的构造函数中调用:classMyBloc{MySettings_settings;List_otherStuff;MyBloc(){_loadSettings();_loadOtherStuff();}Future_loadSettings()async{fin

flutter - 将 BLOC 模式用于身份验证表单

我正在尝试在包含登录和注册的基本身份验证表单上使用BLOC模式,其中登录和注册之间的唯一区别是注册有一个额外的ConfirmPassword字段,这也有助于是否应启用Signup按钮。我有两个问题:1.这是个问题。目前,如果我输入一些通过Login验证的登录名,然后切换到Signup表单,则启用Signup按钮,这是错误的,因为ConfirmPassword仍然是空的。如何解决这个问题?2.我觉得有比我所做的更好的方法来实现ConfirmPassword验证和Signup按钮验证。我最初尝试为ConfirmPassword创建一个验证器,但它应该将both密码和确认密码作为输入,但无法

Flutter-了解 Provider、Bloc 的生命周期以及何时处理流

这个问题在这里已经有了答案:Flutter-InheritedWidget-dispose(2个答案)关闭3年前。需要了解什么时候应该Bloc模式和Bloc的生命周期(如何释放持有内存的对象)我有一个屏幕,我从服务器获取数据,数据将仅用于单个屏幕。我正在使用Bloc模式来显示数据。当使用Bloc模式时,我有一个使用StatelessWidget的屏幕。我正在尝试处理“WillPopScope”上的流。一旦处理掉,流就不能再使用了。因为访问同一个屏幕会导致崩溃,因为我用Bloc包装了我的MaterialApp。创建了一个流final_leaderBoardList=StreamContr

dart - 用于隐藏和取消隐藏小部件的 Bloc Pattern

我正在尝试从互联网上获取一些数据并将其显示在列表中。以下是我的bloc代码classStudentsBloc{final_repository=Repository();final_students=BehaviorSubject();finalBehaviorSubject_showProgress=BehaviorSubject();finalBehaviorSubject_showNoInternetViews=BehaviorSubject();Observablegetstudents=>_students.stream;ObservablegetshowProgress=>