no_logic_in_create_state
createStateにロジックを記述しないでください。
このルールはDart 2.8以降で利用可能です。
ルールセット: flutter
詳細
#禁止 createState()
にロジックを記述しないでください。
createState()
の実装は、Stateオブジェクトの新しいインスタンスを返し、それ以上のことは何もすべきではありません。状態へのアクセスは widget
フィールドを介して行うことが推奨されるため、カスタムコンストラクタパラメータを使用してデータを State
オブジェクトに渡すことも避ける必要があり、さらに State コンストラクタには引数を渡さないことが求められます。
悪い例
dart
MyState global;
class MyStateful extends StatefulWidget {
@override
MyState createState() {
global = MyState();
return global;
}
}
dart
class MyStateful extends StatefulWidget {
@override
MyState createState() => MyState()..field = 42;
}
dart
class MyStateful extends StatefulWidget {
@override
MyState createState() => MyState(42);
}
良い例
dart
class MyStateful extends StatefulWidget {
@override
MyState createState() {
return MyState();
}
}
使用法
#no_logic_in_create_state
ルールを有効にするには、analysis_options.yaml
ファイルの linter > rules の下に no_logic_in_create_state
を追加してください。
analysis_options.yaml
yaml
linter:
rules:
- no_logic_in_create_state
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページ最終更新日: 2024-07-03。 ソースを表示 または問題を報告。