gpt4 book ai didi

flutter - 对于哪些 flutter 小部件,我们需要使用 const?

转载 作者:行者123 更新时间:2023-12-03 22:18:09 26 4
gpt4 key购买 nike

我了解const的好处并且小部件不会在状态更改时重建,但是当您看到下面的代码时仍然很明显它们是常量,我希望 flutter 自动处理它。或者, flutter 已经在处理它而我不知道?

// This makes sense to me but with above mentioned concern 
const Text('Your Text Here')
const Icon(Icons.chevron_right, size: 20.0),

无论如何,我的问题是:定义 SizedBox 可以吗? & EdgeInsets小部件作为下面定义的常量(const)?
Padding(
padding:
const EdgeInsets.only(top: 16.0, right: 6.0, bottom: 16.0, left: 16.0),
child: Row(
children: <Widget>[
const SizedBox(width: 16.0),
const Icon(Icons.chevron_right, size: 20.0),
],
),
),

最佳答案

基本上 flutter 试图更新树中的一些小部件,如果它是常量,则无需更新。在这里你可以找到解释。
https://dev.to/pedromassango/flutter-performance-tips-1-const-constructors-4j41

您需要知道一件重要的事情,即如果您更改了树中的小部件,则该小部件之后的所有内容都将被删除并重新绘制(未更新)。因此,如果您将其定义为 const,则不会删除任何内容。没关系(回答你的问题)
此外,我建议阅读如何 flutter 重建屏幕和更新小部件:
https://www.didierboelens.com/2019/09/flutter-internals/

以及关于性能的最后一篇很棒的文章
https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html#performance-considerations

关于flutter - 对于哪些 flutter 小部件,我们需要使用 const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59082904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com