Flutter 的 StatefulWidget 为什么需要额外定义 state?

2019-01-05 16:21:12 +08:00
 wangxiaoaer

如图,MyApp 里面的 home 是一个 StatefulWidget,里面为什么不直接实现 build 方法,而是要创建 state 对象?

开始以为 state 对象是纯状态管理,不带 UI 逻辑的,结果发现 state 里面也要实现 build 方法,构造界面,不是很理解为什么要多绕一圈?

比如直接在 MyHomePage 里面存储状态 counter,并且构造界面,处理事件等,有什么问题(当然目前是做不到,因为 MyHomePage 里面并没有 build 方法可以 override )?

2214 次点击
所在节点    问与答
3 条回复
everwanna
2019-01-05 21:01:25 +08:00
为了方便 app 进入后台序列化,强行把 app 和状态数据分离
wangxiaoaer
2019-01-05 21:10:36 +08:00
@everwanna #1 状态数据你指的是 state ?可是 state 里面明明包含构建 UI 的代码啊。
everwanna
2019-01-06 09:11:44 +08:00
变化的都属于 UI 状态,区别于静态 UI 部分,这个不是 MVC 的 model 数据

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/524171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX