2017-07-08 3 views
1
aktualisiert

Ich bin eine beobachtbare Array in der folgenden Art und Weise in reactjs erklärt mit mobxMobx beobachtbare Array nicht

@observable cacheditems 

constructor() { 
    this.cacheditems = [] 

Jetzt bin Abrufen ich die Daten aus dem Beutel-db wenn offline wie folgt:

var items = [] 
db.allDocs({include_docs: true}, function(err, docs) { 
       docs.rows.map((obj, id) => { 
        items.push(obj.doc) 
       }) 
      }) 


this.cacheditems = items 

Aber die Daten sind nicht festgelegt. Wenn ich versuche, die Daten zum Rendern eines leeren Arrays zu bekommen.

Antwort

2

Wenn Sie this.cacheditems = items tun, überschreiben Sie den Verweis auf das beobachtbare Array. Sie können stattdessen replace verwenden:

class Store { 
    @observable cacheditems = [] 

    constructor() { 
    db.allDocs({include_docs: true}, (err, docs) => { 
     var items = [] 
     docs.rows.map((obj, id) => { 
     items.push(obj.doc) 
     }) 
     this.cacheditems.replace(items) 
    }) 
    } 
} 
Verwandte Themen