我对此很好奇.我见过很多使用Container()作为虚拟隐藏小工具的例子,例如,当加载完成后,我们使用setState(() { _isLoaded = true; });. 所以我们可以像这样使用这个州,对吗?

return _isLoaded ? Container() : LoaderWidget();

或者,也许使用SizedBox()实际上更好,因为它不需要太多参数,而且通常用于填充?

return _isLoaded ? SizedBox() : LoaderWidget();

还是我说错了?

推荐答案

如果用作占位符:

Container如果小部件没有子级、没有高度、没有宽度、没有约束和对齐方式,但是父级提供了有界约束,则Container会扩展以适合父级提供的约束.

SizedBox如果小工具没有子级、没有高度、没有宽度,则宽度和高度为零.

因此,SizedBox()更多地用作语法占位符.

另外,请注意,SizedBox()const构造函数,但Container()不是.第一种方法允许编译器创建更高效的代码.

Dart相关问答推荐

Dart 列表中的 addAll() 和 followBy() 有什么区别?

Dart 扩展: don't access members with "this" unless avoiding shadowing

Flutter中TextFieldForm中的字母间距

执行 `dart2js` 时会生成哪些文件?为什么?

如何在 Flutter 中忽略整个文件的 lint 规则?

Dart 捕获 http 异常

了解Dart private class

如何编辑 Flutter 的 TextFormField 输入和 errorText 之间的间距

如何在Dart中按布尔对列表进行排序

dart中整数的最大值是多少?

如何在 Flutter 中管理 Firebase 身份验证状态?

如何 Select 性地传递可选参数?

Flatter BLoC-如何将参数传递给事件?

Flutter 使用什么 colored颜色 系统,为什么我们使用 `const Color` 而不是 `new Color`

如何在 Dart 中上传文件?

如何在 Visual Studio Code 中禁用fake右括号注释?

如何从列表中的元素创建逗号分隔的字符串

你如何在 Dart 中对异常进行单元测试?

在 Dart 中为数字添加前导零

dart列表最小值/最大值