在 2.7.0 之前的 sdk 版本中,Flutter 是否需要和延迟空安全?

Is that Flutter need required and late for null safety in sdk version up to 2.7.0?

在下面的代码中,此代码出现laterequired在flutter版本2.7.0中不可用的错误。

  late CameraController _controller;
  late Future<void> _initializeControllerFuture;  

...

  const DisplayPictureScreen({Key? key, required this.imagePath})
      : super(key: key);

于是,我就这样把flutter版本升级到2.1.2,马上就解决了这个问题

environment:
  sdk: ">=2.12.0 <3.0.0"

Flutter 是否需要其他定义而不是 requiredlate 以确保 sdk 版本高达 2.7.0 的空安全性?

如果是,我如何在 2.7.0 之前的 sdk 版本中更改定义 requiredlate

将您的代码更改为:

  final CameraController _controller;
  final Future<void> _initializeControllerFuture;  

...

  const DisplayPictureScreen({Key key, @required this.imagePath})
      : super(key: key);

这个视频 “Dart 空安全及其对 Flutter 的影响”,会让事情变得非常清楚。

我看了它,现在我明白了 Dart 的 null-safety 是如何影响 Flutter 的。

https://www.youtube.com/watch?v=TH5tRjXCL14