- FVM有效地管理您的Flutter版本
- defaultTargetPlatform 判断当前是不是Android
- freezed 去生成代码 dart run build_runner watch
- @Riverpod 也是一个注解帮我们生成provider,避免手动去写provider实例方法。
- dart 不支持多继承,但可以利用 mixin 和 with 关键字来实现多继承的效果,mixin的类是无法被实例化的
解决 charles 无法抓包 dio的网络请求
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =(client) {
client.findProxy = (uri){
return "PROXY 192.168.0.129:8888"; // 使用代理端口 8888
};
client.badCertificateCallback =(cert, host, port) => true;
};
构造函数
- 工厂构造函数通常用于单例,可以返回子类或已存在的类。
- 命名构造函数可以有多个,通过做一些配置。
widget-element-renderObject 区别
widget 相当于配置文件 element 会进行差异化处理哪里需要更新 renderObject 是渲染、测量
element什么时候创建或是更新
根据key来判断是否复用,key改变会重新创建和runtimeType也有关