MobX - 可观察对象只抓取更改的字段?

MobX - Observable object grabbing only changed fields?

我有一个 MobX 存储设置,其中包含一个具有默认值的可观察对象,其值是在加载 React Native 场景时从服务器填充的。我在 UserPreferencesStore 中有一个可观察到的用户偏好列表,如下所示:

class UserPreferencesStore {
    @observable userPreferences = {
        receive_upvotes_mail: 0,
        receive_answers_mail: 0,
        receive_comments_mail: 0
    }
}

在 RN 端,这些值更改为:

class UserPreferencesStore {
    @observable userPreferences = {
        receive_upvotes_mail: 1,
        receive_answers_mail: 1,
        receive_comments_mail: 0
    }
}

我不确定如何仅将更改的项目发送到服务器。任何的想法?另外,即使我有 20 个字段,这是在这种情况下使用 mobx 的最有效方法吗?一个可观察对象?

这应该是为每个字段建立单独的自动运行或反应的问题:

class UserPreferencesStore {
    @observable userPreferences = {
        receive_upvotes_mail: 1,
        receive_answers_mail: 1,
        receive_comments_mail: 0
    }

    constructor() {
        Object.keys(this.userPreferences).forEach(setting => {
            reaction(
                // whenever a new value is produced...
                () => this.userPreferences[setting],
                // ..run this effect
                (newValue) => storeSettingOnServer(setting, newValue)
            )
        })
    }
}