Javascript 使用setState设置以太坊区块链中存储的对象字段

Javascript 使用setState设置以太坊区块链中存储的对象字段,javascript,reactjs,ethereum,solidity,Javascript,Reactjs,Ethereum,Solidity,我一直在尝试使用setState在一个对象中存储多个值。每个候选项都将所有四个字段存储在solidity数组中,并使用实例检索: this.state = { candidates: { Fname: "", Sname: "", RegNo: "", Dept: "" } } // retrieving the various candidates this.myInstance.candiNumber().then((candiNum)=>

我一直在尝试使用setState在一个对象中存储多个值。每个候选项都将所有四个字段存储在solidity数组中,并使用实例检索:

   this.state = {
  candidates: {
    Fname: "",
    Sname: "",
    RegNo: "",
    Dept: ""
  }
}

// retrieving the various candidates
this.myInstance.candiNumber().then((candiNum)=> {
    for(let i = 0; i < candiNum; i++){
        this.myInstance.candiArr(i).then((candidate)=>{
            let newCandidate = Object.assign({}, this.state.candidates)
            newCandidate.Fname = candidate[0],
            newCandidate.Sname = candidate[1],
            newCandidate.RegNo = candidate[2],
            newCandidate.Dept = candidate[3]
            this.setState({ newCandidate })
        })
    }
})
this.state={
候选人:{
Fname:“”,
Sname:“,
注册号:“,
部门:“
}
}
//检索各种候选人
this.myInstance.candiNumber()。然后((candiNum)=>{
for(设i=0;i{
让newCandidate=Object.assign({},this.state.candidates)
newCandidate.Fname=candidate[0],
newCandidate.Sname=candidate[1],
newCandidate.RegNo=候选者[2],
newCandidate.Dept=候选人[3]
this.setState({newCandidate})
})
}
})

我的问题是,;如何在不替换其他候选值的情况下将每个候选值添加到状态?

这是否回答了您的问题?