【问题标题】:Flutter - Non-nullable instance field after change SDK versionFlutter - 更改 SDK 版本后不可为空的实例字段
【发布时间】:2021-08-24 12:03:07
【问题描述】:

将 SDK 从 sdk: ">=2.7.0 更改为 sdk: ">=2.12.0 p>

得到错误:

class MyApp extends StatefulWidget {
  MyApp({Key key}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Future <List<Data>> futureData;

  @override
  void initState() {
    super.initState();
    futureData = fetchData();
  }

您的 SDK 版本是多少?我正在更改版本,因为我收到了有关 min sdk 2.12 的一些小部件的建议

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    从 Flutter 2 开始,它是 Null-Safety。你的例子不是,

    官方参考: https://flutter.dev/docs/null-safety

    完成这项工作的方法

      //Key is optional
      MyApp({Key? key}) : super(key: key);
      
      //Key is mandatory and must be set
      MyApp({required Key key}) : super(key: key);
    
      //futureData may be null
      Future <List<Data>>? futureData;
    
      //You ensure that futureData contains data before being accessed
      late Future <List<Data>> futureData;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2022-01-24
      • 2022-01-22
      • 2021-09-29
      • 2023-01-07
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      相关资源
      最近更新 更多