在 flutter 中使用 ListView 从 API 中检索 json 对象的列表时。拥有有状态或无状态小部件是正确的方法吗?
When using a ListView in flutter to retrieve a list of json objects from an API. Is it the right way to have an Stateful or Stateless Widget?
假设我有一个包含 2 条路线的简单应用。主路线是个人资料,其次是项目。所以这个想法是,当用户点击项目图标时,应用程序应该移动到该路线并显示用户的所有项目。问题是这个 item Widget 应该是 Stateless 还是 Stateful?考虑到我希望用户拉动以刷新此路由并在列表视图中重新加载 api。
它绝对应该是一个有状态的小部件,因为您需要来自 API 的数据。无状态小部件不能更改,如果页面上的数据是静态的,您应该只使用无状态小部件。
它绝对是一个有状态的小部件,因为无状态的小部件不能改变它们的状态。
我知道您已经接受了一个正确的答案,但如果您使用 Provider、Bloc、GetX 等状态管理解决方案,我通常想补充一下...它们都提供了可以刷新 ListView
无需在有状态小部件内。
与从有状态小部件中调用 setState
相比,这将是一种更简洁、更具可扩展性的解决方案。
假设我有一个包含 2 条路线的简单应用。主路线是个人资料,其次是项目。所以这个想法是,当用户点击项目图标时,应用程序应该移动到该路线并显示用户的所有项目。问题是这个 item Widget 应该是 Stateless 还是 Stateful?考虑到我希望用户拉动以刷新此路由并在列表视图中重新加载 api。
它绝对应该是一个有状态的小部件,因为您需要来自 API 的数据。无状态小部件不能更改,如果页面上的数据是静态的,您应该只使用无状态小部件。
它绝对是一个有状态的小部件,因为无状态的小部件不能改变它们的状态。
我知道您已经接受了一个正确的答案,但如果您使用 Provider、Bloc、GetX 等状态管理解决方案,我通常想补充一下...它们都提供了可以刷新 ListView
无需在有状态小部件内。
与从有状态小部件中调用 setState
相比,这将是一种更简洁、更具可扩展性的解决方案。