ファイナルがあり、コンストラクターで初期化しようとしています。それは私にエラーを与えています&私がそれを最終的にしない場合、私は警告を受け取ります。
このクラス(またはこのクラスの継承元のクラス)は「@immutable」としてマークされていますが、そのインスタンスフィールドの1つ以上が最終ではありません:GenderCard.genderSvg "、
私のコード:
GenderCard({@required this.genderType}) {
genderSvg = '/assets/' + 'genderType' + '.svg';
}
final String genderType;
final String genderSvg;
@override
Widget build(BuildContext context) {
final
インスタンス変数は、初期化子リストで初期化する必要があります。言語ガイドを参照してください。
インスタンス変数はfinalにすることができますが、constにすることはできません。最終インスタンス変数は、コンストラクター本体が開始する前に、変数宣言、コンストラクターパラメーター、またはコンストラクターの初期化子リストで初期化する必要があります。
コンストラクターを次のように変更します。
class GenderCard {
GenderCard({@required this.genderType})
: genderSvg = '/assets/$genderType.svg';
final String genderType;
final String genderSvg;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加