Flutter 中的StatelessWidget 和 StatefulWidget

108 阅读1分钟

在 Flutter 中一切的显示都是 Widget ,Widget 是一切的基础,利用响应式模式进行渲染。

我们可以通过修改数据,再用setState 设置数据,Flutter 会自动通过绑定的数据更新 Widget , 所以我们开发Flutter时,需要做的就是实现 Widget 界面,并且和数据绑定起来

Widget 分为 有状态 和 无状态 两种,在 Flutter 中每个页面都是一帧,无状态就是保持在那一帧,而有状态的 Widget 当数据更新时,其实是创建了新的 Widget,只是 State 实现了跨帧的数据同步保存。

StatelessWidgetStatefulWidget 是 Flutter 中的两个基础组件类型。

  • StatelessWidget:

    • 用于描述不需要更新的界面元素。它是不可变的,一旦创建就不会改变。适用于静态内容或那些不依赖于状态变化的组件。
  • StatefulWidget:

    • 用于描述可能会变化的界面元素。它包含一个可变的 State 对象,用于存储和管理状态。适合于需要根据用户交互或异步操作更新界面的组件。

简而言之,StatelessWidget 是静态的,而 StatefulWidget 是动态的,可以响应状态变化。