我有一个mobx类,它存储一个可观察的命名值和一个名为增量的动作,我也有2个屏幕,并且如果我在第一个屏幕上递增它的值,我希望在第二个屏幕上改变可观察值的值如果我换了屏幕,总是重启。
过去,我使用mobx在react native中以这种方式为我工作,即使我更改了屏幕,所有屏幕的状态也都更新了,但在颤动中却无法正常工作。
Mobx类
echo do_shortcode('[products ids="' . $id . '" visibility="all"]');
屏幕1
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++;
}
}
屏幕2
// 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的值在所有屏幕上都改变,而我在其中一个屏幕中将其递增。我该如何实现?
答案 0 :(得分:0)
我对Flutter一无所知,在这种情况下,我的注释可能毫无用处,但是我从您的代码中可以看到,在屏幕1中,您试图通过商店更新为store.x值。在商店类中没有显示为方法的addToOrders()方法,该类仅包含一个增量方法。