Flutter:何时创建无状态或有状态页面?
Posted
技术标签:
【中文标题】Flutter:何时创建无状态或有状态页面?【英文标题】:Flutter: When to create Stateless or Stateful page? 【发布时间】:2021-10-01 13:14:20 【问题描述】:我是 Flutter 的新手。 Flutter 中的一切都是一个小部件,小部件有两种,一种是无状态的,一种是有状态的。了解无状态小部件是不会更改或用户无法与之交互(文本、图标等)的小部件,而有状态小部件是会因用户交互而改变其状态的小部件。
当我们想要创建一个新的自定义页面时,我们通常会从 StatelesWidget 或 StatefulWidget 扩展页面。既然 StatelesWidget 可以有 StatefulWidget 作为它的子元素,反之亦然,那么我们什么时候应该将页面扩展为 StatefulWidget 或 StatelessWidget?
谢谢。
【问题讨论】:
看这个:***.com/a/45945202/6915572 【参考方案1】:如果页面本身具有某种状态,那么它应该是一个有状态的小部件。例如,您想远程加载某些内容,并在获取数据时显示进度指示器。加载完成后,页面的状态会发生变化,而不是进度指示器,您会显示任何您想要的内容。
但也有可能页面本身是一个无状态的小部件,并且有一个子小部件,例如一个容器,并且这个容器是有状态的,管理上述远程加载或依赖于某种用户交互。
状态管理是 Flutter 中的核心问题,您有很多选择,但要找到最佳选择并不总是那么容易。您可以轻松地与框架抗争,而不是让它为您完成工作。如果您是新手,我建议您观看一些视频,它们对我帮助很大,例如 this 或 this。
【讨论】:
以上是关于Flutter:何时创建无状态或有状态页面?的主要内容,如果未能解决你的问题,请参考以下文章