Flutter StatelessWidget 和 StatefullWidget 的区别?

3 min read

StatelessWidget 和 StatefulWidgets 都是Flutter中的Widget类型,其中的主要区别在于StatelessWidget不会保存任何状态,它只是根据传入的参数构建UI,而StatefulWidgets则可以保存其状态,并且可以对状态进行更改。

具体来说,StatelessWidget通过实现build()方法构建UI。它依赖于传入的参数,这些参数是在widget创建时所提供的,一旦创建后就不会再更改。一旦构建完成,StatelessWidget就不再与应用程序交互。

StatefulWidget则具有关联的State对象,并且可以保存任意数量的状态。当StatefulWidget需要更新时,State对象可以通过setState()方法通知Flutter框架进行重新绘制。因此,StatefulWidget可以在应用程序中保持交互状态,例如:存储用于构建UI的数据、转换UI到下一个状态等。

总体来说,StatelessWidget适用于仅依赖于传入参数并且不需要任何交互的情况。而StatefulWidget则适用于需要响应交互并保持可变状态的情况。