微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可观察到的Mobx抖动不会更新该值每次我获得默认值

如何解决可观察到的Mobx抖动不会更新该值每次我获得默认值

你好,我是新手,我正在尝试使用mobx状态管理。

import 'package:mobx/mobx.dart';
part 'counter.g.dart';

class Counter = _Counter with _$Counter;

abstract class _Counter with Store {
  @observable
  String hello = 'Hello';

  @action
  void changeName(_name){
    hello = _name;
  }
}

和.g.dart也会使用更新后的值生成。 我正在触发类似(动作调用部分)的动作

final Counter counter = Counter();

return Observer(builder: (_)=> InkWell(
            onTap: () {
              counter.changeName("updated value");
    }.....something like this.

渲染部分:

final Counter counter = Counter();
 return Scaffold(
      body: Observer(builder: (_) {
        return Container(
          height: 100.0,width: 100.0,decoration: Boxdecoration(),child: Text(counter.hello),);
      }),

每次我都将counter.hello设为“ Hello”(认值)。 我没有收到“更新后的价值”

->动作changeName正在触发(我已对其进行调试)

请帮助我。

解决方法

这部分

final Counter counter = Counter();

return Observer(builder: (_)=> InkWell(
        onTap: () {
          counter.changeName("updated value");
}

和这部分

final Counter counter = Counter();
 return Scaffold(
  body: Observer(builder: (_) {
    return Container(
      height: 100.0,width: 100.0,decoration: BoxDecoration(),child: Text(counter.hello),);
  }),

是否在同一小部件​​树中?我注意到在这两个部分中您都实例化了Counter(), 要更新文本,您需要使用该类的相同实例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。