1、StatelessWidget和StatefulWidget区别
StatelessWidget和StatefulWidget是flutter的基础组件,日常开发中自定义Widget都是选择继承这两者之一。
两者的区别在于状态的改变,StatelessWidget面向那些始终不变的UI控件,比如标题栏中的标题;而StatefulWidget则是面向可能会改变UI状态的控件,比如有点击反馈的按钮。
StatelessWidget就没什么好研究的了,StatefulWidget的创建需要指定一个State,在需要更新UI的时候调用setState(VoidCallback fn),并在VoidCallback中改变一些变量数值等,组件会重新build以达到刷新状态也就是刷新UI的效果。
2、加载图片报错
需要在pubspec.yaml文件中添加图片路径再使用
uses-material-design: true
assets:
#导航栏图标
- assets/images/ic_nav_news_normal.png
3、去掉debug按钮
return MaterialApp(
debugShowCheckedModeBanner: false,
);
4、initState方法
- State 的生命周期和 StatefulWidget 不同,当 StatefulWidget 状态改变后就会被重建,但是 State 不会改变,但是当 StatefulWidget 在 View 树中移除再插入又会生成新的 State。参考下文 State.context.
- initState -> build -> 状态改变 -> didUpdateWidget -> build --->移除.