【发布时间】:2019-08-22 03:15:25
【问题描述】:
我有一个简单的应用程序,它允许某人将数字添加到输入中,并将这些数字呈现到可以编辑的页面上(作为输入)。
addSiblingValue(evt) {
this.setState({
currentObject: {
...this.state.currentObject,
numberOfSiblings: evt.target.value
}
});
add() {
const array = [...this.state.array, this.state.currentObject];
this.setState({
array
});
}
siblingCountChange(rowIndex, event) {
const array = [...this.state.array];
array[rowIndex].numberOfSiblings = event.target.value;
this.setState({ array });
}
因此,当我添加一个数字时,它会呈现一个新输入,其值设置为我刚刚添加的数字,但是当我去更改该值时,它现在会影响第一个输入。
第一行输入使用他们自己的对象currentObject,它推送到this.state.array,所以我不确定为什么编辑该数组中的任何内容会影响currentObject?
预期行为:
- 用户在输入框中输入数字并点击添加
- 该输入已呈现并可独立编辑
我如何做到这一点,或者我在这里做错了什么?
谢谢
【问题讨论】:
标签: javascript arrays reactjs input