flutter项目问题

1

flutter中获取api所使用的第三方包为 dio包,,dio包返回的数据为Response类型的数据,这些数据不能和一般的json格式的数据一样解析,,得使用val.data['data']['code']方式来解析

2 、 setState() called after dispose()

原因
上面英文大致意思是:在 Flutter 构件树被销毁后仍然执行了 setState 方法改变页面状态。
实际使用报错场景为:三个 tab,默认展示第一个 tab,点第三个 tab 时报的错。个人认为是 bottomNavigationBar 的 bug,点击第三个 tab,第二个 tab 的生命周期函数 initState 也执行了,这是不符合要求的。

解决

// mounted 为 true 表示当前页面挂在到构件树中,为 false 时未挂载当前页面
if (!mounted) {
  return;
}

setState(() {
  // xxxx
})

3、时间处理插件

timeago
用法:

  • import ‘package:timeago/timeago.dart’ as timeago;
  • ${timeago.format(DateTime.parse(detail[‘pubdata’]))}

4、导入本地图片资源

一定要注意pubspec.yaml中的空格缩进问题,导入图片还是报错的话,重新启动项目即可

flutter:
  uses-material-design: true
  # To add assets to your application, add an assets section, like this:
  assets:
    - images/a.jpg
    - images/b.jpg
    - images/c.jpg

5、上传文件资源(图片)到服务器端

使用的是第三方的库dio

6、flutter打包发布遇到的问题

flutter笔记5:官方资料搬运-安卓客户端打包

你可能感兴趣的:(flutter)