如何防止 setState 在颤振中重建

Posted

技术标签:

【中文标题】如何防止 setState 在颤振中重建【英文标题】:how to prevent setState from rebuild in flutter 【发布时间】:2020-08-05 06:54:40 【问题描述】:

有没有办法阻止 setState 重建?因为我必须在小部件Text 中显示我的状态,但是每当我单击另一个选项卡并再次返回到我的主屏幕时......状态总是重新构建并且我得到 null

【问题讨论】:

不,不可能 还有其他方法吗,这样每当我点击另一个标签时...我仍然可以访问我最后的数据 我不知道你的意思是什么标签 我的屏幕中有底部标签导航器。所以我在第一个标签屏幕中执行 setState,每当我点击底部标签时... setState 总是重建,我无法获取我的数据 听起来你想看***.com/questions/52249578/… 【参考方案1】:

您可以使用 AutomaticKeepAliveClientMixin 来保存应用的状态。

@覆盖 // TODO: 实现 wantKeepAlive bool get wantKeepAlive => true;

使用这个构造函数。

【讨论】:

以上是关于如何防止 setState 在颤振中重建的主要内容,如果未能解决你的问题,请参考以下文章

除了 setstate 颤振之外,如何在小部件构建中获取值

setState 是不是会在颤动中为屏幕重建整个小部件树,以及它与其他状态管理相比如何

如何使用提供程序包收听更改并在颤振中重建小部件?

颤振如何确定何时重建小部件?

Flutter setState 重建整页功能

如何创建自定义颤振 sdk 小部件,重建颤振和使用新的小部件