- staless 没有任何需要追踪的可改变状态。stateless widget可以提供模块化的UI,也可用函数实现。stateless widget意味着不用改变,这样的话final关键字就可以排上一定的用场
- app有widget tree,每一个widget元素,都对应一个element 元素,真正呈现到app上的是element tree;Flutter走过每一个widget的build方法,把它们挂在Element Tree上
- stateful widget 创建stateful element,stateful element向widget请求创建一个state,如果想要创建子wdiget,需要调用state的build方法
- 如果说state持有的data改变的话,那么就会把它标记为“脏”,然后调用build方法重新生成一个新的Widget来代替它
- stateless widget 永远不会改变;
- stateful widget是动态的,该widget的状态存储在state对象中,将widget的状态和外观分离。
- 当widget的状态改变时,状态对象将会调用setState()方法,重新渲染外观
【Flutter】特别篇:stateless和stateful widget的区别
于 2022-09-16 16:10:25 首次发布