Как совместить RxDB и MobX - PullRequest
       4

Как совместить RxDB и MobX

0 голосов
/ 18 декабря 2018

Я начал с установки электрон + реаги + моб, и теперь хочу добавить RxDB к миксу.Я подумал, что, возможно, я мог бы просто обработать материал rxdb (вставки / подписки) внутри магазина, но я действительно не знаю, как.

В основном мой вопрос:

Как я могу синхронизировать мой Mobxstore и my 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 голосов
/ 30 декабря 2018

Насколько я могу понять, rxdb - это просто наблюдаемый экземпляр rxjs PouchDB!

Если вы используете Mobx, то вы можете спокойно пропустить шаг rxjs и использовать PouchDB напрямую;остальное кодируй легкий путь и используй зависимость mobx-pouchbd и ..:

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