我正在使用反应js与mobx,我从api获取数据。我得到的数据是对象数组。当我将数据设置为mobx变量时,我看到代理对象的数组(不确定代理说的是什么)。我正在尝试将我从api获得的对象数组设置为mobx变量。
我的商店
class UserStore {
@persist @observable token = null
@observable tasks = []
@observable done = false
@persist @observable email = ''
constructor() {
}
@action
getTasks = async () => {
try {
let response = await Api.getTasks()
console.log('getTasks',response.tasks)
this.tasks = response.tasks
console.log('my new tasks',this.tasks)
} catch (e) {
console.log(e)
}
}
你可以在第一个块('black')中看到我从api获得的数据,然后我将respnse.tasks设置为this.tasks。
this.tasks = response.tasks
console.log('my new tasks',this.tasks)
这取决于您希望如何观察数据。
“我正在尝试将我从api获得的对象数组设置为mobx变量”
并不是你的最终目标。
如果您希望观察者:
@observable.ref tasks
。@observable.shallow tasks
。@observable tasks
。如评论中所示,mobx5正在使用Proxy,并且某些行为可能与先前版本相比有所不同。
更多信息:Mobx arrays,Mobx decorators,shallow observability
注意:如果这对您没有帮助,您需要提供更多详细信息,例如您的反应组件代码。