不可为空的实例字段 '_dio' 必须初始化 Flutter

Non-nullable instance field '_dio' must be initialized Flutter

我正在使用 Dio 进行 Json 解析,我创建了一个 class 用于简单的 Json 解析和序列化,但我收到以下错误


Non-nullable instance field '_dio' must be initialized. (Documentation)  Try adding an initializer expression, or add a field initializer in this constructor, or mark it 'late'.

下面是我的 class

的代码

Dio _dio;

  final baseUrl = "";

  HttpService(){
    _dio = Dio(BaseOptions(
      baseUrl:
    ));
  }

我可能做错了什么

您的变量 _dio 不可为空,这意味着它永远不能为空。 但是,当您输入 Dio _dio; 时,它没有得到值。

您有 2 个选择:

通过在类型后添加 ? 使其可为空:Dio? _dio;

或者使它成为一个 late 变量 late Dio _dio; 这意味着它将在获得一个值后不久(希望 _dio = Dio(BaseOptions(baseUrl:)); 会这样做)以便它可以被视为“从不null" 之后。

编辑: 有关该主题的更多信息:https://dart.dev/null-safety