我正在尝试在React中编码“区块链”可视化实现。我想以某种方式在每个对象的对象(属于我的块)数组中保存索引。我不知道该怎么做。
this.state = {
value: '',
blocks: [{
hash: calculateHash(1),
timestamp: timeStamp(),
dataOfBlock: 'Genesis Block',
nounce: 607,
index: 0
}]
}
};
addBlock = (event) => {
event.preventDefault();
this.setState({
blocks: [...this.state.blocks, {
hash: 'cos',
timestamp: timeStamp(),
dataOfBlock: this.state.value,
nounce: '',
index: 1 // here's the problem
}]
})
}
我的代码模仿了我想在注释所在的位置完成的操作。我想在每个块中将+1不断添加到索引中。
答案 0 :(得分:4)
添加新对象时,可以使用length
作为新对象的索引
注意:this.state.blocks.length
将下一个索引,因为索引从0
blocks: [...this.state.blocks, {
hash: 'cos',
timestamp: timeStamp(),
dataOfBlock: this.state.value,
nounce: '',
index: this.state.blocks.length
}]