Flutter 积累

45 阅读1分钟
  1. FVM有效地管理您的Flutter版本
  2. defaultTargetPlatform 判断当前是不是Android
  3. freezed 去生成代码 dart run build_runner watch
  4. @Riverpod 也是一个注解帮我们生成provider,避免手动去写provider实例方法。
  5. 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也有关