【发布时间】:2021-05-08 01:33:54
【问题描述】:
假设我有一个包含 100 个定位小部件子级的堆栈,我将一个新的已定位小部件添加到该堆栈中,但其余的保持不变,然后我 setState 重建该堆栈,是否应该所有 100 个子级都运行它们的重建功能?我问是因为这发生在我的应用程序中,但希望我可以阻止整个堆栈的重建,因为颤动应该看到大部分堆栈没有变化。
编辑:[更准确地说,当我添加一个孩子或删除一个孩子时,如何确保我不会重新渲染堆栈中的所有 100 个小部件,有没有办法验证、检查渲染树]
【问题讨论】:
-
是的,他们都应该重建
-
有没有办法通过以某种方式包装它们来隔离 100 或其他解决方案
-
顺便说一句,那 100 个小部件是什么?它们是典型的小部件,如按钮、文本字段、滑块等,还是您正试图以一种 hacky 的方式使用一些小部件?
-
它们是可拖动的小部件,可以在屏幕上移动,具有各种带有文本、图像、CustomPainter 路径的小部件树。
-
它们有位置,因此它们可以在拖动后保持在该位置。正如你可以想象的那样,如果我只是添加或删除一个,我不希望所有这些都刷新。