У меня есть класс mobx, в котором хранится наблюдаемое именованное значение и действие с именем increment, у меня также есть 2 экрана, и я хочу, чтобы значение наблюдаемого изменилось на втором экране, если я увеличу его на первом экране, но значение всегда перезагружать, если я меняю экран.
Раньше у меня так получалось, используя mobx в реагировать на натив, даже если я меняю экран, состояние обновляется на всех экранах, но во флаттере это не работает.
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))),
],
),
Экран 2
// but not here
Observer(
builder: (_) => Text('orders ${store.x}',
style: new TextStyle(
fontSize: 15,
color: Colors.grey,
)),
),
Я хочу, чтобы значение наблюдаемого x менялось на всех скринах, и я увеличиваю его на одном из экранов. Как я могу достичь этого?