我正在开发一个有很多屏幕和页面的应用程序。我在某处读到过,您应该尽可能使用无状态小部件。
这是为什么?
如果我有很多屏幕,它们应该是无状态的吗?然后里面的内容是Stateful?让屏幕和小部件都处于有状态会更好吗?
小智 6
你应该问自己一些关于屏幕/页面的问题来决定它是无状态还是有状态。
在不需要时使 Stateful 是一种不好的做法。一个好主意可能是始终作为无状态小部件开始,如果需要,您可以使用 Alt + Enter 快捷方式 (Android Studio) 轻松将其更改为有状态。
我总是从创建一个无状态小部件开始并使用它,直到我必须更改某些状态。因此,我可以快速使用“Alt-Enter/ Convert to a Statefull”从 Intellij/AS 将其更改为有状态。(做相反的事情并不那么容易,所以......)。
此外,如果您将 Stateful widget 与某些异步机制(例如流)一起使用,您可以构建一次 widget 并使用流来更新您需要的信息,并且它不会对应用程序的性能产生太大影响。但是如果您多次调用 setState,这可能会降低您的应用程序的性能,因为对于每个 setState,Widget 树都会被重建。
flutter 文档中的这篇文章展示了有关处理 flutter 应用程序中状态更改的有趣提示:
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |