无状态的widget的build方法通常只会在一下三种情况调用:
- 将widget插入树中时
- 当widget的父级更改其配置时
- 当它依赖的InheritedWidget发生变化时
有状态的widget由谁来管理状态原则:
如果所讨论的状态是用户数据,例如复选框的已选中或未选中状态,或滑块的位置,则状态最好由父widget管理;
如果widget的状态取决于动作,例如动画,那么最好是由widget自身来管理状态
如果还是不确定谁管理状态,就让父widget管理子widget的状态
无状态的widget的build方法通常只会在一下三种情况调用:
有状态的widget由谁来管理状态原则:
如果所讨论的状态是用户数据,例如复选框的已选中或未选中状态,或滑块的位置,则状态最好由父widget管理;
如果widget的状态取决于动作,例如动画,那么最好是由widget自身来管理状态
如果还是不确定谁管理状态,就让父widget管理子widget的状态
本文标题:Flutter 的有状态和无状态的Widget
本文链接:https://www.haomeiwen.com/subject/ykddyctx.html
网友评论