Flutter mobx可观测数据能否在多个屏幕之间保持?

Flutter mobx可观测数据能否在多个屏幕之间保持?,flutter,mobx,Flutter,Mobx,我有一个mobx类,它存储一个可观察的命名值和一个名为increment的操作,我也有两个屏幕,如果我在第一个屏幕上增加可观察值,我希望它在第二个屏幕上改变,但是如果我改变屏幕,值总是重新启动 在react native中使用mobx时,它曾经对我起作用,即使我更改了屏幕,所有屏幕中的状态都会更新,但在Flatter中它不起作用 Mobx类 import 'package:mobx/mobx.dart'; part 'appstores.g.dart'; class AppStore = _A

我有一个mobx类,它存储一个可观察的命名值和一个名为increment的操作,我也有两个屏幕,如果我在第一个屏幕上增加可观察值,我希望它在第二个屏幕上改变,但是如果我改变屏幕,值总是重新启动

在react native中使用mobx时,它曾经对我起作用,即使我更改了屏幕,所有屏幕中的状态都会更新,但在Flatter中它不起作用

Mobx类

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

class AppStore = _AppStore with _$AppStore;

abstract class _AppStore with Store {
  @observable
  int x = 0;

  @action
  void increment() {
    x++;
  }
}

屏幕1

// the x value updates here
 Observer(
                    builder: (_) => Text("${store.x}"),
                  ),
                  ButtonBar(
                    children: <Widget>[
                       RaisedButton(
                          onPressed: (){store.addToOrders();},
                          child: Text('Disabled Button',
                              style: TextStyle(fontSize: 20))),
                    ],
                  ),

我想观察到的x值在所有屏幕上都改变,在其中一个屏幕上增加它。我怎么能做到这一点呢?

我对颤振一无所知,在这种情况下,我的评论可能毫无用处,但从代码中可以看出,在屏幕1中,您试图通过store.addToOrders()方法更新到store.x值,该方法在store类中不作为方法出现,它只包含一个增量方法。

我不喜欢颤振,但似乎您正在为每个屏幕实例化AppStore。看看如何将AppStore作为单例实例,这样您的数据就会持久化。您找到答案了吗?@laszlo我使用了继承的小部件
// but not here
 Observer(
                                  builder: (_) => Text('orders ${store.x}',
                                      style: new TextStyle(
                                        fontSize: 15,
                                        color: Colors.grey,
                                      )),
                                ),