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.6.0。頁面上次更新於 2024-07-03。 檢視原始碼 或 回報問題。