我一直在创建一个带有start(主屏幕)的应用程序,该应用程序显示从REST API调用中提取的数据列表。当窗口小部件的状态更新时,触发此操作-一切正常。
我还加载了许多子屏幕(例如设置屏幕):
Navigator.push
我注意到,如果状态在我的设置屏幕中更改,则主屏幕状态也会更新,因此它将再次调用REST api。我已经进行了一些测试,这似乎适用于Navigator堆栈中的任何子窗口小部件,其中状态更新似乎从右上角向上传递回了窗口小部件树。
这是我以为状态更改沿小部件树发生的预期行为吗?还是我对它的工作方式有误解?
在我看来,HomeScreen中的REST调用会不断执行,并且每次子小部件发生状态更改时屏幕都会更新,这似乎有点效率低下,因为它是Navigator堆栈的基础并且未被使用/查看
我已经建立了一个简单的测试项目,在Github here上对此进行了显示。