我已经设置了一个新的样本/样板项目,用于使用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
控制台正在注销适当的状态更改,以便正确更新状态。但是,该组件不会被重新呈现更新状态(此行是console.log'ing旧状态val): https://github.com/markoshust/mantra-matui-mobx/blob/master/client/modules/core/containers/Header.js#L6
我看到'更新...'消息,所以组件正在重新渲染,但它似乎仍旧在拉动旧状态。我确实添加了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'。 –
试过这个,没有改变 –