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