我在存储中定义了一个可观察变量,并尝试进行多次调用并将结果推送到Array。当我这样做的时候,我发现我定义的数组是一个代理,所以我不能在我的页面中显示信息。
这是我的尝试:
class ClubListStore {
@observable userClubList
constructor() {
this.userClubList = []
}
@action getUserClubs = () => {
const userContract = new appchain.base.Contract(playerAbi, config.userContract)
appchain.base.getDefaultAccount().then(sender => {
userContract.methods.getUserClubsSize(sender).call().then((res) => {
return res
}).then((res) => {
for (let i = 0; i < res; i++) {
userContract.methods.getUserClubs(sender, i).call().then((clubAddr) => {
this.userClubList.push(clubAddr)//push value to array here
})
}
}
})
})
}
}
const clubListStore = new ClubListStore()
export default clubListStore当我对阵列userClubList执行console.log操作时,它显示为代理。
Proxy {0: "0xf3fA7DB0Cb79b12ca2081F9f5865f3fd01127FAd", length: 1, Symbol(mobx administration): ObservableArrayAdministration}
[[Handler]]
:
Object
[[Target]]
:
Array(1)
[[IsRevoked]]
:
false我的问题是:
如何将此代理转换为保存我从调用中推入的值的数组?
谢谢
发布于 2020-11-24 04:31:49
使用console.log(toJS(userClubList))
https://stackoverflow.com/questions/53423288
复制相似问题