遇到 dart null safety 的编译问题

Got a compilation problem with dart null safety

我是 flutter null safety 的新手,我不知道如何做到没有编译错误。 这是(不完整的)代码

GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
Scaffold(
  key: _scaffoldKey
);
...
showDialog(context: _scaffold.currentContext)

showdialog 正在等待一个非空的 BuildContext,所以我得到了错误:

The argument type 'BuildContext?' can't be assigned to the parameter type 'BuildContext'

请帮忙!

尝试使用

//@dart=2.9

在 main.dart 文件的第 1 行

如果您确定 _scaffold.currentContext 永远不会为空:

GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
Scaffold(
  key: _scaffoldKey
);
...
showDialog(context: _scaffold.currentContext!) //Add "!" here and the problem is solved