由于其类型,参数“id”不能具有“null”值,但隐式默认值为“null”

3 non-nullable flutter

我正在关注一个 Flutter 教程,其中包含以下代码,但代码在我的计算机上不起作用,而且我不知道如何修复它:

import 'package:flutter/foundation.dart';

class CartItem {
  final String id;

  CartItem({
    @required this.id,
  });
}
Run Code Online (Sandbox Code Playgroud)

但我收到这样的错误:

The parameter 'id' can't have a value of 'null' because of its type, but the implicit default value is 'null'.
Try adding either an explicit non-'null' default value or the 'required' modifier.dartmissing_default_value_for_parameter
{String id}
Run Code Online (Sandbox Code Playgroud)

小智 6

最新的 Dart 版本现在支持健全的空安全性。本教程必须使用旧版本。

要指示变量可能具有 null 值,只需添加 ? 其类型声明:

class CartItem {
  final String? id = null;
  CartItem({
     this.id,
   });
  } 
Run Code Online (Sandbox Code Playgroud)

或者

class CartItem {
  final String? id;
  CartItem({
     this.id,
   });
  } 
Run Code Online (Sandbox Code Playgroud)