[英]How can I call a function in a class that has the setState function from another stateful widget?
我有一个有状态的小部件,它在其 class 方法之一中使用了 setState 方法。 我想将该小部件转换为普通的 class 以便我可以在 Object 面向编程中使用它。 我想在另一个有状态小部件中实例化该 class 的实例,并访问其中包含 setState 方法的方法。 但我目前收到此错误“没有为类型'MyClass'定义方法'setState'。尝试将名称更正为现有方法的名称,或定义一个名为'setState'的方法。”
我怎样才能做到这一点?
setState 方法链接到有状态 Widget 的 state。 如果您想将您的小部件转换为 Class 您不能在其中使用 setState。 但是你可以给 Class 一个 Function 作为参数。 每当您在有状态的 Widget 中实例化此 Class 时,只需将此有状态的 Widget 中的 setState 提供给 class。
我认为您需要为您的代码添加一个比有状态小部件更好的 state 管理解决方案,也许是 riverpod,使用riverpod ,您可以从其他小部件访问相同的通知程序,因此setState
功能加上它具有将逻辑和 ui 拆分为的额外好处类似 mvvm 的模式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.