我注意到 statefulWidget 中的变量越多,setState 函数完成所需的时间就越多。 让应用程序变得有点慢,这很烦人。
有没有办法改变只有一个变量的状态?我的意思是这样的:
setState(...varToUpdate)
最佳答案
没有。 setState 的设计是重建所有依赖于调用方法 os 的状态的小部件。
如果您将整体小部件重构为子小部件,您可以对重建的内容进行更细粒度的控制。此外,您应该研究像 RiverPod 这样的状态管理解决方案,以便能够缩小与其触发器相关联的“消费者”范围,这将有很大帮助。
此外,如果您的构建成本很高,那么您就做错了。构建应该很便宜,能够每秒执行 60 次,无需 I/O 或昂贵的计算。
关于Flutter setState 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73706905/