【发布时间】:2019-01-16 09:59:48
【问题描述】:
我的状态中有一个数组:
this.state = {
data: [
{
quantity: 0
}
],
tempQuantity: 0
};
我想在TextInput 中更新我的data[0].quantity,所以我使用:
onChangeText={tempQuantity =>
this.setState({
tempQuantity,
data: [...this.state.data, { quantity: tempQuantity }]
})
}
我有一个<Text> 来显示结果:
<View>
<Text>{this.state.data[0].quantity}</Text>
</View>
但我每次都收到0!
如何更新数组中每个对象的每个元素?
如果我这样使用它,它会动态工作吗?我的意思是我想在每次按下
<Button>时创建一个对象(具有主对象的所有属性)。 [例如:data[0]与quantity的 10 -data[1] withquantity` 的 12 - 和 ...]
【问题讨论】:
-
您在每个
onChangeText上向data添加一个新对象。 -
如果您在
data数组中只有一个对象,那么您正在向数组中添加一个新对象,那么为什么不将其作为单独的属性添加到状态中而不是数据数组中的对象。跨度> -
@Tholle 那么我该如何以正确的方式做到这一点?
-
@Sandip 它被简化了——我有大约 15 个属性
-
@MohamadKh75 你能在这里查看我的答案吗stackoverflow.com/a/51758734/1904377。
标签: javascript arrays reactjs react-native ecmascript-6