Flutter 与内存变化的交互
Posted
技术标签:
【中文标题】Flutter 与内存变化的交互【英文标题】:Flutter interaction with change in memory 【发布时间】:2020-02-13 04:53:30 【问题描述】:我试图了解当底层内存项更改时,由内存项填充的颤振小部件的行为方式。我的用例是:通过触发某些事件(使用 EventBus 包),这个底层内存项可能会或可能不会改变。如果是这样,那么我想触发一个 setState(),但不是因为我不想不必要地调用它。请帮助我了解如何实现这一点。目前 onclick 改变了 str 但 Text 小部件没有改变。我的例子 - 按钮单击(充当事件触发器)更改填充 Text 项的底层 str 项。提前致谢。
class _MainApp extends State<MainApp>
@override
String str = "1";
Widget build(BuildContext context)
return MaterialApp(
home: Scaffold(
body: Column(
children: <Widget>[
CustomText(),
RaisedButton(onPressed: ()
print(CustomTextS.str);
CustomTextS.setStr("f");
print(CustomTextS.str);
,)
],
),
),
);
class CustomText extends StatefulWidget
CustomTextS createState() => CustomTextS();
class CustomTextS extends State<CustomText>
static String str = "1";
static setStr(String a)
str = a;
Widget build(BuildContext context)
return Text(str);
【问题讨论】:
【参考方案1】:目前我继续使用字符串和整数按值传递的事实。因此,人们可以利用这一事实有效地获得一份副本,可以使用该副本与更新后的值进行比较,以确定小部件的属性是否在事件操作中发生了变化。
【讨论】:
以上是关于Flutter 与内存变化的交互的主要内容,如果未能解决你的问题,请参考以下文章