我从电子+反应+ 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
}
答案 0 :(得分:1)
据我所知,rxdb只是PouchDB的rxjs可观察实例!
如果您使用的是Mobx,则可以安全地跳过rxjs步骤并直接使用PouchDB。否则编写简单方法并使用mobx-pouchbd依赖项和..:
save() {
if (super.save()) {
POUCH_DB_INSTANCE.put(this.toJS());
}
}