2017-07-08 1 views
1

Je déclare un tableau observable de la manière suivante dans reactjs en utilisant MOBXMOBX Observable Tableau pas mis à jour

@observable cacheditems 

constructor() { 
    this.cacheditems = [] 

Maintenant, je récupérer les données de poche-db en mode hors connexion comme suit:

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


this.cacheditems = items 

Mais les données ne sont pas définies. Lorsque j'essaie d'obtenir les données pour le rendre un tableau vide.

Répondre

2

Lorsque vous faites this.cacheditems = items, vous remplacez la référence du tableau observable. Vous pouvez utiliser replace à la place:

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) 
    }) 
    } 
}