繁体   English   中英

来自不同屏幕的 Flutter setState

[英]Flutter setState from a different Screen

活动1

static String mValue = "0";

change(){
  setState((){
    Activity1.mValue = "1";
 });
}

活动2

Text(Activity1.mValue)

这是我的代码的最简单形式。 我想更改 Activity1 中存在的静态值,并且该更改应反映在 Activity2 中

到目前为止有效

// Activity2
setState((){
  Activity1.mValue = "1";
})
Text(Activity1.mValue);

我想要实现的是更改 Activity1 的值并将其反映在 Activity2 中。 它们是 2 个不同的类,不是 Root 和 Child。 无论如何要实现这一目标?

在 Flutter 中,我们不会直接从另一个小部件更改一个小部件的状态,因为 Flutter 是一个声明性框架。

查看 Flutter 文档中的状态管理方法部分,尤其是提升状态部分。

主要思想是您在Activity1Activity2上方的小部件中提升您的状态,在那里更改它(例如使用回调),然后沿树向下传播状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM