Создайте модель Mobx с динамическими свойствами (например, карту) - PullRequest
0 голосов
/ 30 декабря 2018

Типичная модель Mobx - это класс с набором ключей, каждый из которых можно наблюдать, например:

import { observable, computed } from "mobx";

class OrderLine {
    @observable price = 0;
    @observable amount = 1;

    @computed get total() {
        return this.price * this.amount;
    }
}

Однако это предполагает, что я заранее знаю, какие ключи может иметь моя модель.Но в моем случае использования моя модель имеет только один фиксированный ключ, а остальные будут динамическими - пользователь сможет добавить дополнительные ключи.Как мне определить мою модель?Должен ли я сделать его подклассом ObservableMap?

import { observable } from "mobx";

class Bookmark {
    @observable tags = [];

    # This has to allow additional properties to be added to the object but still be observable
    # e.g. bookmark.foo = "bar"
}
...