布局方式
- 命令式UI: UI界面由一个个命令操作组合而成
- 声明式UI:将想要的UI描述出来即可
声明式UI优点
- 更适合做多设备适配
- UI布局和控制逻辑通过reactive方式实现数据绑定
- 更好实现UI局部刷新机制,只刷新更新的部分
Widget
A widget is an immutable description of a part of a user interface.
Widget 是部分UI的不可变描述信息
Widget是不可变的
@immutable 这个注解表示这个类不可变
StatelessWidget && StatefulWidget
State更新方式:
- 通过stateState() 触发重布局
- 遍历需要更新的Element,依次调用rebuild
StatelessWidget和StatefulWidget差别在于是否能自重建