【Flutter】エラーコード:The parameter 'key' can't have a value of 'null' because of its type, but the implicit default value is 'null'.の解決方法

Flutterで以下のようなKeyを使ったコードを書いていた時、

const _Post({
Key key,
@required this.name,
}) : super(key: key);

 

keyの部分で以下のエラーコードが出てきた。

「The parameter 'key' can't have a value of 'null' because of its type, but the implicit default value is 'null'.」

日本語訳では

「パラメータ 'key' はその型のために 'null' という値を持つことができませんが、暗黙のデフォルト値は 'null' です。」

ということらしい。

 

nullを持つことができないためにエラーが出力されているので、パラメータ'key'においてnullを持つことができる状態にしてあげることで解決する。(違ってたらすみません)

そこで使用するのがoptional型というもの。

このoptional型とは

「通常の変数と異なり、空の値(値が無い)状態を保持することができる変数」

らしい。

 

そこでoptional型の宣言方法を調べると、"?"をつけるだけで良いらしい。

詳しい内容はこの記事を読むと良いかもしれない。↓

Flutter2のDart Null Safetyを既存のプロジェクトに導入する | ZUMA Lab

 

以上のことから、エラーコードを修正するには?をつけて宣言することで解決することができるということがわかった。

const _Post({
Key? key,
@required this.name,
}) : super(key: key);