我试图更好
地理解AnimatedPositioned
.
从这篇
文章
(和随附的视频)我们知道,即使小部件对象本身保持不变,只是改变了小部件树中的位置,那么如果小部件是StatefulWidget
.
好吧,在 的官方示例中AnimatedPositioned
,没有使用密钥。当selected
被翻转时,setState
触发对该build()
方法的第二次调用。第二次调用不仅重新定位完全相同的StatelessWidget
,而且还创建了一个全新的AnimatedPositioned
对象。
Flutter 是如何知道这个小部件和以前的小部件是一样的(以便正确地为其设置动画)?它只是小部件树中的位置吗?但是我们可以有多个小部件,这是一个StatefulWidget
.
为什么 StatefulWidget 有时不需要密钥?