Mobx 可观察数组未更新
Mobx Observable Array not updated
我在使用 mobx 的 reactjs 中以下列方式声明一个可观察数组
@observable cacheditems
constructor() {
this.cacheditems = []
现在我正在离线时从 pouch-db 中检索数据,如下所示:
var items = []
db.allDocs({include_docs: true}, function(err, docs) {
docs.rows.map((obj, id) => {
items.push(obj.doc)
})
})
this.cacheditems = items
但是没有设置数据。当我尝试获取用于呈现其空数组的数据时。
当您执行 this.cacheditems = items
时,您将覆盖对可观察数组的引用。您可以使用 replace 代替:
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)
})
}
}
我在使用 mobx 的 reactjs 中以下列方式声明一个可观察数组
@observable cacheditems
constructor() {
this.cacheditems = []
现在我正在离线时从 pouch-db 中检索数据,如下所示:
var items = []
db.allDocs({include_docs: true}, function(err, docs) {
docs.rows.map((obj, id) => {
items.push(obj.doc)
})
})
this.cacheditems = items
但是没有设置数据。当我尝试获取用于呈现其空数组的数据时。
当您执行 this.cacheditems = items
时,您将覆盖对可观察数组的引用。您可以使用 replace 代替:
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)
})
}
}