套件概覽
nil 包提供了一個極簡且效能優化的 widget,當包含在 widget 樹中時,它不會渲染任何內容。它適用於需要佔位符或條件 widget 的情境,這些 widget 不會增加佈局或渲染開銷。與 SizedBox.shrink() 或 Container() 不同,nil 對 widget 樹的效能沒有任何影響,非常適合在外部處理可見性條件的動態 UI 邏輯中使用。它輕量且安全,適用於複雜或經常更新的 UI。
適用情境
- 條件渲染且無視覺輸出
- 在動態佈局中替換空容器
- 在大型小部件樹中優化性能
- 簡化小部件組合中的空值檢查
- 避免不必要的佈局計算
主要特色
- 零渲染成本
- 無佈局影響
- 最小記憶體佔用
- 簡單 API
- 適合頻繁更新
適合對象
- 開發者優化UI效能
- 動態或條件UI的建構者
- 優先考慮最小開銷的團隊
- 具有複雜或嵌套小部件樹的應用程式
- 尋找空小部件的乾淨替代方案的人
使用建議
- 不適合用於可見內容
- 不支援子組件
- 僅在有意不渲染任何內容時有用
- 如果使用內建的空安全構造,則不需要
- 最好與條件邏輯結合使用