如何结合RxDB和MobX

时间:2018-12-17 21:05:33

标签: reactjs electron mobx

我从电子+反应+ Mobx设置开始,现在想将RxDB添加到混合物中。我以为我也许可以在商店内处理rxdb的内容(插入/订阅),但我真的不知道如何。

基本上我的问题是:

如何同步Mobx存储和RxDB?

当前代码大致如下:

class RecordingStore {
     ...
     constructor() {
        database.getDatabase( 'mydb', 'idb').then(async(db) => {
            this.db = db
            await db.recordings.sync({
                remote: syncURL,
                direction: {
                    pull: true,
                    push: true
                }
            });
        }
     }

     @action addRecording(title) {
        const item = new Recording(title)
        // should I really keep two collections? (RxDb AND Mobx)
        this.recordings.push(item)
        this.db.recordings.insert({ title: title }).then(()=>{console.log("recording saved")})
        return item
  }

1 个答案:

答案 0 :(得分:1)

据我所知,rxdb只是PouchDB的rxjs可观察实例!

如果您使用的是Mobx,则可以安全地跳过rxjs步骤并直接使用PouchDB。否则编写简单方法并使用mobx-pouchbd依赖项和..:

save() {
    if (super.save()) {
        POUCH_DB_INSTANCE.put(this.toJS());
    }
}