参见英文答案 > How to use a variable for a key in a JavaScript object literal? 12个
> Reactjs setState() with a dynamic key name? 7个
> react setState with dynamic key 1个
从输入字段我将值作为参数发送到设置状态的函数.我有多个输入字段,所以想使用它们的名称(等于它们的状态键)然后使用相同的函数并将键和值传递给设置状态的函数.
这是我的代码.
<Modal
onTextChange={(text, key) => {
this.setState({
event: {
key: text
}
})
}}
/>
和输入
<input
type="date"
name="dateStart"
onKeyUp={event => this.props.onTextChange(event.target.value, event.target.name)
/>
text参数有效,但关键参数不起作用.
提前致谢.
解决方法:
使用动态键设置状态时,需要将键包裹在[]中
<Modal
onTextChange={(text, key) => {
this.setState({
event: {
[key]: text
}
})
}}
/>