草庐IT

state-pattern

全部标签

dart - 当我专注于 TextField - Bloc Pattern 时小部件重新呈现

我正在使用BLoC来保持两个嵌套的FullScreenDialogs之间的状态。当我按下第一个屏幕时,我正在初始化bloc,就像这样returnFloatingActionButton(child:Icon(Icons.add),onPressed:(){Navigator.of(context).push(MaterialPageRoute(builder:(BuildContextcontext)=>ProductBlocProvider(child:ProductEntryScreen()),fullscreenDialog:true));},);ProductEntryScre

dart - 什么是类外的小部件的 'state'

我已经开始使用flutter进行一些工作,我对类之外的小部件的“状态”感到好奇。当我将searchAndAddRow移动到myApp类内部的构建函数之外时,我需要将Widget声明为final,这是有道理的,因为它是一个无状态类。当我将Widget完全移出类时(就像我在代码片段中所做的那样),我不需要定义任何东西。在这两种情况下,当我将searchAndAddRow移动到MyApp的build之外时,androidstudio中的“热重载”功能不起作用,应用程序需要停止并重新启动才能使更改生效。是什么促使我首先提出这个问题。import'package:flutter/material

inheritance - 如何为泛型类 State<T extends StatefulWidget> 编写 mixin

我需要为Flutter的State编写一个扩展所以我可以在我的所有状态中使用一个函数,比方说showSnackBar("Helloworld",5).我试着写一个mixinmixinBaseStateonState{finalGlobalKeyscaffoldKey=newGlobalKey();voidshowSnackBar(Stringtext){setState((){scaffoldKey.currentState.showSnackBar(newSnackBar(content:newRow(children:[newCircularProgressIndicator(),

flutter - `State<T extends StatefulWidget>`有什么用

我查看了dart的泛型文档。abstractclassStringCache{StringgetByKey(Stringkey);voidsetByKey(Stringkey,Stringvalue);}abstractclassObjectCache{ObjectgetByKey(Stringkey);voidsetByKey(Stringkey,Objectvalue);}上面两个被替换为一个泛型类型T,代码如下abstractclassCache{TgetByKey(Stringkey);voidsetByKey(Stringkey,Tvalue);}可以清楚地看到T的使用。但不

flutter - Stateful Widget 子项未更新

有两个有状态的小部件。MyHomePage的状态包含计数器。MyHomePage将内容包装在第二个有状态小部件SubPage中。SubPage有一个子部件,其中包含来自MyHomePage的数据。为了澄清这个问题,子页面内的第一个文本小部件不会在计数器更改时更新。SubPage之外的文本小部件按预期递增。如果我们想要更新内部有状态小部件的内容,我们必须做什么?我们必须在那里使用有状态的小部件。在实际应用中,这个小部件有一个真实的用例。import'package:flutter/material.dart';voidmain()=>runApp(newMyApp());classMyA

class - 如何为 Stateful Widget 创建 Flutter 路由?

我得到了NavigatoroperationrequestedwithacontextthatdoesnotincludeaNavigator.我的Flutter应用程序的错误日志。我看到的所有示例都是针对“无状态”小部件的,所以我认为这可能是问题或我的代码?我怎样才能路由到我的LoginPage?这是我的代码,没有任何导航器或路线......voidmain(){runApp(newMyApp());}finalgoogleSignIn=newGoogleSignIn();finalfb=FirebaseDatabase.instance.reference();finalauth=

dart - 如何在 Bloc Pattern 中使用 SharedPreferences?

我正在尝试在我的应用程序中使用bloc模式的共享首选项。以下是我的代码classPrefsStats{finalboolisMale;finalStringname;finalintage;PrefsStats(this.isMale,this.name,this.age);}classPrefsBloc{final_changePrefernce=BehaviorSubject();Function(PrefsStats)getchangePrefs=>_changePrefernce.sink.add;Streamgetprefrence=>_changePrefernce.str

flutter 标签栏 : Update tab (stateful widget) everytime a tab gets visible

新年快乐!:)我有三个选项卡,每个选项卡都有一个有状态的小部件。选项卡#2中显示的数据可以由用户在选项卡#3中更改。因此,当从选项卡#3返回到选项卡#2时,我需要在选项卡#2中调用update()方法。是否有一个有状态的小部件方法会在每次小部件可见时被触发?如果没有,我有什么机会来实现这一目标?最好的,妮可 最佳答案 它没有更新的原因是小部件已经被渲染并且现在被缓存直到用户退出应用程序。您可以尝试多种方法来完成这项工作。例如,VoidCallBack方法,添加异步函数或在initState本身中留空setState。归根结底,这取决

dart - 我是否有义务使用 Stateful Widgets 来配置 Flutter 中的流 Controller ?

在Flutter中处理流和流Controller时,我是否被迫使用StatefulWidgets来处理Controller?或者有没有其他方法可以使用无状态小部件来做到这一点?这是在StatefulWidgets中正常完成的方式:voiddispose(){_myController.dispose();super.dispose();} 最佳答案 你可以使用flutter的provider包。它具有用于处置的回调,您可以在其中处置您的Bloc。提供者是继承的小部件,并提供了一种干净的方式来管理带有流的block。使用这种方法,您可

dart - flutter 和 Firestore : How can access variables from Stateful Widget to create a new document?

我想在StatelessWidget中使用StatefulWidget的最终变量在Firestore中创建一个新文档。但我总是遇到同样的问题:在初始化器中只能访问静态成员我的StatefulWidget代码:classUserProfileextendsStatefulWidget{UserProfile({this.auth,this.onSignedOut,this.userID});finalBaseAuthauth;finalVoidCallbackonSignedOut;finalStringuserID;@override_UserProfileStatecreateSta