繁体   English   中英

为什么我应该只在 `framework.dart` 的子类中使用 `setState`?

[英]Why should I only use `setState` in subclasses of `framework.dart`?

我在Stream上编写了扩展程序,允许我调用.watch(<some state>)并自动保持小部件更新。 它工作得非常好,但是,我在扩展中传递的状态上调用setState ,因此我收到警告说The member 'setState' can only be used within instance members of subclasses of 'package:flutter/src/widgets/framework.dart' 我的问题是为什么不推荐/允许这样做? . 澄清一下,我明白为什么我会收到警告——我正在从另一个类调用setState但是如果我这样做,Flutter 为什么“关心”

我试图找到有关任何原因的信息,但我只能找到添加辅助函数的明显解决方法,并且没有给出任何原因。

出现此错误的原因可能有两个:

  • 您在声明状态的地方使用了 static 或 final 关键字
  • 您无法设置状态,因为扩展程序已经在更新小部件的状态

如果您需要任何进一步的帮助或我理解错了,请告诉我!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM