如何使用Mobx观察可观察数组上的object.property变化

时间:2018-12-03 09:45:13

标签: reactjs mobx

我正在使用reactjs和mobx。我有一个可观察的Item对象数组,并且试图通过观察数组中对象的属性来显示它们并“实时”显示属性更改。更改不是由任何组件上的click事件触发的,而是由对API调用的响应触发的。

我知道数组内对象的属性更改不会触发整个列表重新呈现(这很好),但是我无法让它重新呈现应该观察属性的单个Item组件Item对象的

我尝试了几种方法来使数组中的Item对象可观察,但是这些方法都不适合我:

  • 从项目的构造函数中调用“ extendObservable()”
  • 将props.item分配给装饰有'@observable'的班级成员
  • 调用可观察的构造函数并像这样传递item对象:const item = observable(item)
  • 将“ hasUnreadData”字段作为一个单独的属性传递,并通过“ observable.box(item.hasUnreadData)”使其可观察。

这是一些简化的示例代码(在打字稿中):

{{1}}

我是否需要克隆或“重新创建” Item对象以触发渲染?还是我在这里犯了一个明显的错误?任何帮助表示赞赏。

0 个答案:

没有答案