MobX 中的 ObservableList 和 @observable List 有什么不同

What is different between ObservableList and @observable List in MobX

我是菜鸟。正如标题所说,这三者有什么区别

ObservableList<Todo> todos;

@observable
ObservableList<Todo> todos;

@observable
List<Todo> todos;
ObservableList<Todo> todos;

这只会在修改列表时激活 observable,而不是分配新列表。

@observable
ObservableList<Todo> todos;

这意味着将新列表分配给 todos 或修改 todos 列表都会激活 observable。

@observable
List<Todo> todos;

这意味着每次您对 todos 字段进行新分配时,都会激活 observable。修改 todo 列表不会激活 observable。

当你这样做时,列表不会通知 Mobx 值已更改:

listOfMatches[0] = match;

但是当你这样做时两者都会起作用:

listOfMatched = []