Я установил новый образец/шаблонный проект для тестирования с использованием Meteor с React & MobX (с использованием архитектуры Mantra). Проект находится в https://github.com/markoshust/mantra-matui-mobxReact + MobX - обновление без повторного рендеринга до состояния
У меня возникла проблема, когда изменение состояния состояния State.header.title не отражает должным образом измененное изменение состояния при повторной визуализации.
Мое состояние строится втягивая простых объектов: https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/stores/route.js
в один мастер наблюдаемого объекта: https://github.com/markoshust/mantra-matui-mobx/blob/master/client/main.js#L8
Я Аукциона для изменения маршрута и вызова действия для обновления состояния: https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/reactions/route.js#L10
Это действие обновляет состояние: https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/actions/route.js#L5
Консоль выдает правильное изменение состояния, поэтому состояние обновляется должным образом. Однако компонент не перерисовывается с обновленным состоянием (эта строка - консоль. Log'ing old state val): https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/containers/Header.js#L6
Я вижу сообщение «update ...», поэтому компонент является повторной рендерингом, но, похоже, он все еще тянет в старом состоянии. Я добавил observer
ко всем моим компонентам: https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/components/Header.js
Я, кажется, исправили проблему с пользовательской withMobx композитора, единственное, что он делает ждет на следующем такте, чтобы сделать компонент. Любая идея, почему это исправляет это? Предполагается, что Mobx является синхронным. https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/libs/with_mobx.js#L5 –
Я думаю, что 'State.header' является наблюдаемым, но не' State .header.title'. –
Пробовал это, без изменений –