既然 Flutter 中的 ListView 是无状态的,那怎么能改变呢?

Since a ListView in Flutter is stateless, how come it can be changed?

我认为这更像是一个哲学问题,标题几乎说明了一切。 似乎自相矛盾,ListView 派生自无状态,但可以在应用 运行 时更改。

ListView 不会在内部更改任何值。 它有一个构建器,或子级,并且在构建方法出现时已经指定了它们。

Statefull 小部件不同,它们允许您更改某些变量的状态,或者通常是小部件本身的状态。

ListView 本身并没有改变。当您在调用 setState() 中使用 StatefulWidget 时,您只是用新信息重建它。因此,ListView 永远不会保持或更改状态,您只是在每次更改时创建一个具有不同起始信息的新 ListView