【发布时间】:2019-08-10 22:50:59
【问题描述】:
我有一个带有状态的本地应用程序:
this.state={
nameOne:"team 1",
nameTwo:"team 2",
pointsForEvents:{
lap: 1,
homeRun: 5,
lyre: 3,
oneHandCatch: 5,
burned: 1,
burnOut: 10,
}
}
那我要更新pointsForEvents中的变量:
<TextInput
keyboardType="number-pad"
onChangeText={(lyre) =>{lyre = parseInt(lyre); this.setState({pointsForEvents:{lyre}})}}
value={this.state.pointsForEvents.lyre+""}
/>
但是 setState 也会更新“pointsForEvents”中的其他变量,并且由于未指定值,因此将它们设置为未定义。如何只更新这一个值。
PS:对象中变量的正确词汇是什么(就像组件是其子组件的父组件)。
【问题讨论】:
-
您必须使用
Object.assign()将pointsForEvents对象设置为自身+ 任何更改。也可以使用spread operator例如pointsForEvents : {...this.state.pointsForEvents, lyre: 4}
标签: javascript reactjs react-native object setstate