Flutter 颤振状态重建所有儿童

Flutter 颤振状态重建所有儿童,flutter,Flutter,我有一个父窗口小部件,它有一个包含两个孩子的堆栈。 在父级中使用setState时,没有实际更改某些内容(setState的主体为空),为什么要调用子级的构建方法 颤振不是只重建带有脏参数的小部件吗?颤振将为所有子部件运行构建功能(const小部件除外)。不过,这不会让他们重播。如果flatter发现小部件中没有任何更改,它只会重用以前的渲染 程序无法知道状态是否已更改,除非它通过运行build进行检查。我明白了。因此,运行子级的build方法实际上不会重建它(对于未更改的子级)?@Fridge

我有一个父窗口小部件,它有一个包含两个孩子的堆栈。 在父级中使用setState时,没有实际更改某些内容(setState的主体为空),为什么要调用子级的构建方法


颤振不是只重建带有脏参数的小部件吗?

颤振将为所有子部件运行构建功能(const小部件除外)。不过,这不会让他们重播。如果flatter发现小部件中没有任何更改,它只会重用以前的渲染


程序无法知道状态是否已更改,除非它通过运行build进行检查。

我明白了。因此,运行子级的build方法实际上不会重建它(对于未更改的子级)?@Fridge it会“重建”它。但是,如果有什么改变,它只会再次呈现小部件。不断地在一堆小部件上重新运行构建肯定会对性能产生影响。如果这成为一个问题,您可以将您的小部件树进一步拆分。但通常情况下应该是完全正确的。@Fridge一点问题也没有:)如果您想直观地显示重建的内容和时间,请查看Flatter DevTools的“重新绘制彩虹”功能。@Fridge也可以随意接受答案,如果您觉得有帮助的话。