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 --->移除.


 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐