Flutter Container() vs SizedBox() for dummy empty

标签 flutter dart

我对这个很好奇。我已经看到很多使用 Container() 作为虚拟隐藏小部件的示例,例如,当加载完成时,然后我们 setState(() { _isLoaded = true; }); . 所以我们可以像这样使用状态,对吧?

return _isLoaded ? Container() : LoaderWidget();

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

return _isLoaded ? SizedBox() : LoaderWidget();

还是我错了?

最佳答案

如果用作占位符:

Container 如果 widget 没有 child ,没有高度,没有宽度,没有约束,也没有对齐,但是父级提供了有界约束,那么 Container 会扩展以适应父级提供的约束。

SizedBox 如果小部件没有 child ,没有高度,没有宽度,则宽度和高度为零。

因此,SizedBox() 更像是一个句法占位符。

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

关于Flutter Container() vs SizedBox() for dummy empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57703182/

相关文章:

flutter - 为什么 setState 不重建我的 GridView.builder?我如何解决它?

dart - flutter 导航 : Fetching the previous Route

flutter - 我如何将数据发送到另一个页面/小部件?

dart - Flutter:下拉列表中的选定值

android - Flutter Bloc保持重建小部件而不改变状态

php - 在刷卡器中从 php 加载图像时出现空错误

flutter - cupertino_localizations 1.0.0 + 1取决于国际^ 0.15.8

flutter - 国际象棋应用程序的Flutter倒数计时器(陷入逻辑)

android - 为什么“文本对齐”无法正常使用?

flutter - IOWebSocketChannel 检测连接何时打开