當我閱讀顫振源代碼文本小部件時,我創建了這個:
const Text(
String this.data, {
Key? key,
this.style,
this.strutStyle,
this.textAlign,
this.textDirection,
this.locale,
this.softWrap,
this.overflow,
this.textScaleFactor,
this.maxLines,
this.semanticsLabel,
this.textWidthBasis,
this.textHeightBehavior,
}) : assert(
data != null,
'A non-null String must be provided to a Text widget.',
),
textSpan = null,
super(key: key);
我不明白我們為什么要data!=null在這里放置斷言?
我的想法是 this.data 總是被賦值(因為它不是可選的),并且永遠不會為空。還是有什么顧慮?
uj5u.com熱心網友回復:
這對于尚未以空安全運行的專案仍然有用。
Flutter 現在是完全空安全的,你是對的:它“不應該”是null因為型別不可為空。
這是因為 Flutter 和 dart 還不支持 null 安全性。在 null 安全性之前,您可以完成Text(null)并且 linter 不會抱怨。
那么為什么 Flutter 現在仍然存在 null 安全?
Flutter 在不引入重大更改并支持舊版本方面付出了很多努力。因此,一個沒有遷移到 null-safety 的舊顫振專案將在沒有 null 安全功能的情況下運行,并且可以運行Text(null).
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/445220.html
下一篇:如何在顫動中停止重復洛蒂影片
