@required
を使用してコンストラクターパラメーターに注釈を付けると、IntelliJでエラーが表示されます。
注釈は、const変数参照またはconstコンストラクター呼び出しのいずれかでなければなりません
誰かが私が間違っていることを提案できますか?
class StatusBar extends StatelessWidget {
final String text;
const StatusBar({Key key, @required this.text})
: assert(text != null),
super(key: key);
@override
Widget build(BuildContext context) {
//...
}
}
アノテーションをインポートする必要があります
ファイルの先頭に追加
import 'package:flutter/foundation.Dart';
それを修正する必要があります。
DartAnalyzerが理解する注釈は、 meta パッケージで提供されます。
Flutter開発者が簡単に行えるように、Flutterチームはmeta
パッケージをFlutter SDKに追加し、flutter/foundation.Dart
に再エクスポートすることにしました。したがって、flutterによる注釈は、メタパッケージで提供される注釈とまったく同じであり、pubspec.yaml
の依存関係にmeta
を追加し、必要に応じてそこから注釈をインポートすることもできます。たとえば、AngularDartとFlutterの間でコードを再利用する場合は、package:flutter/...
からインポートするコードをDart Webアプリケーションで使用できないため、推奨される方法です。
ソースファイルの先頭にあるパッケージ「meta」をインポートしてください。
// @required is defined in the meta.Dart package
import 'package:meta/meta.Dart';
コードには次のコードが含まれていますか?
import 'package:meta/meta.Dart';
コードに上記のコードが含まれていてエラーが発生する場合は、pubspec.yaml
ファイル:
dependencies:
flutter:
sdk: flutter
エラーが続く場合は、CLIで次を試してください。
pub upgrade