Mobx Observable对象对更新做出反应

时间:2017-12-11 12:13:31

标签: object observable mobx

我有一个mobx可观察对象:

[HttpPost] public ActionResult Refresh(string id) { if (User.Identity.Name == id) return RedirectToAction("Index"); else return null; }

我有一个更新对象的mobx动作:

@observable friend = {name: 'bert'}

但我的@action addAge = () => this.friend.age = 20对象无法更新。

我查看了mobx文档,似乎friend可能是正确的用法,因为它考虑了放入对象的新项目。然而,这似乎更适合阵列。 map似乎更适合课程。

添加到mobx可观察对象的好习惯是什么?

1 个答案:

答案 0 :(得分:2)

地图是更改对象上的键的正确方法,因为地图会创建keyed array

Map的工作方式与ES6地图类似,因为它可以采用迭代方式。

@observable friend = new Map([[ 'name', 'jack']])

现在可以使用set修改朋友。

@action addAge = () => { this.friend.set('age', 24); }

使用friend observable的任何内容都会对现有键值的更改以及新键的添加或删除做出反应。