簡體   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