Я использую мобкс и флаттер. У меня есть наблюдаемая карта mobx, и я хочу обновить некоторые элементы пользовательского интерфейса при изменении значения на этой карте. У меня есть следующий код:
Observer(
builder: (_) =>
Column(
children:[
Text(widget.store.userVotes[key_name].toString()),#this works
(widget.store.userVotes.containsKey(widget.doc.documentID))?
YesNoSlider(
data: Metric("","",widget.store.userVotes[key_name])): #this doesn't work
SizedBox(height: 5),
]
)
)
Моя проблема в том, что строка с комментарием «это работает» обновляется правильно, а дочерний виджет YesNoSlider - нет. Даже когда значение widget.store.userVotes [key_name] изменяется, это изменение не распространяется на дочерний виджет. Есть ли способ распространить это изменение и / или создать версию YesNoSlider, которая будет способна к изменениям? Или значение в YesNoSlider, которое я хочу обновить, должно напрямую прослушивать хранилище mobx? Является ли mobx неправильным способом go об этой проблеме? Любая помощь будет высоко ценится, спасибо!