現在 Dart 2.17 允許超級初始化功能,我現在似乎可以替換我的默認樣板
class WidgetName extends StatelessWidget {
const WidgetName({Key? key}) : super(key: key);
和
class WidgetName extends StatelessWidget {
const WidgetName({super.key});
這有什么后果?考慮到“舊”語法與“新”語法中鍵的可能可為空值,我假設這種代碼更改不是 100% 等效的。或者可能我對超級初始化的底層程序沒有完全理解。
uj5u.com熱心網友回復:
它是 100% 等效的。在這兩種情況下key都是型別Key?。
key當您將滑鼠懸停在編輯器中的建構式上時,您可以確認型別是什么。

超級初始值設定項的型別將匹配超級建構式中的型別。在這種情況下,超級建構式是StatelessWidget的默認建構式,它被定義為const StatelessWidget({Key? key}).
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/475434.html
