赞
踩
FlutterBoost发布了3.0,试着把Flutter升级到了2.5空安全版本,升级的过程几乎是逐行更改代码,对项目影响很大,遇到的一些坑分享给大家
UserEntity? user;
user?.userId = 759896253;
user = UserEntity();
user!.nickname = "测试用名";
○ 构造方法要在方法体外为不能为空的成员变量赋值,如下的msg字段,而code、data、error就不必如此
要在构造方法执行前,保证当前类中非dynamic、late标识的成员变量都不为空
class Test{
int code = -1;
String msg;
dynamic data;
late String error;
Test(): msg = "" {
}
}
○ 组件方法中可选参数(非空类型)要么加默认值,要么加required注解标明必传,@required => required
final int index;
CoursesSubPage({this.index = 1});
CoursesSubPage({required this.index});
○ 继承JsonConvert的Entity需要加默认值
组件变化
○ FlutterBoost.singleton.open => BoostNavigator.instance.push
○ Scaffold中appBar属性的类型Widget => PreferredSizeWidget
一般常为:AppBar、TabBar、PreferredSize
resizeToAvoidBottomPadding => resizeToAvoidBottomInset
○ Stack中overflow => clipBehavior
创建List时:List() => []
List list = []
var _hotList = []
类冲突:下面两个引用文件中,都有DateUtils类,会发生冲突,DateUtils识别不出什么意思
解决方法是其中一个改名或者去掉一个import
import 'package:ncflutter/utils/date_utils.dart';
import 'package:flutter/material.dart';
DateUtils.format()
WillPopScope组件的onWillPop方法需要用async修饰
programKey.currentContext!.findRenderObject()返回值为RenderObject需强转为RenderBox
两周时间FlutterBoost发布了两个小版本,很多issue还没有修复,目前想先等一波
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。