Flutter-setState不使用新数据

时间:2018-08-30 10:40:25

标签: caching dart widget flutter setstate

我有一个屏幕,可以像这样将数据传递回去:

final myUpdatedObject = await Navigator.of(context).push(...);
setState({
  object = myUpdatedObject;
});

在小部件主体的所有位置都用简单的print检查了使用我的对象的情况,新数据在经过Navigator传回并且setState叫。

但是,当重新构建窗口小部件时,即使显然有新数据,它也不会反映在UI更改中,而是显示旧数据。

这是调试模式下的某种缓存吗?是什么导致此问题?

1 个答案:

答案 0 :(得分:0)

下面的示例以一个名为Map的{​​{1}}开始,并带有一个textMessageMap键,该键为message小部件填充了“主页”。点按Text,然后将导航至FloatingActionButton。如果您点击“返回!” SecondScreen中的[{1}]按钮,SecondScreen中的message键将更新为“第二屏幕”。如果您在textMessageMap的{​​{1}}上点击后退按钮,则Scaffold将被清空。调用SecondScreen会相应地更新UI。查看您的实现是否不同。

textMessageMap