当用户在表单中键入时,我试图更新状态中嵌套对象的键/值对。我的状态看起来像这样:
constructor(props) {
super(props);
this.state = {
details: {
detail1: {
title: "",
description: "",
image1: null,
image2: null,
},
detail2: {
title: "",
description: "",
image1: null,
image2: null,
},
detail3: {
title: "",
description: "",
image1: null,
image2: null,
},
},
};
}
这是我的渲染方法:
<form>
<input
type="text"
value={this.state.creatives.creative1.title}
onChange={(e) => {
this.setState((prevState) => ({
creatives: {
...prevState.creatives,
creative1: {
...prevState.creatives.creative1,
title: e.target.value,
},
},
}));
console.log(this.state.details.detail1.title);
}}
></input>
</form>
我尝试在 onChange 方法中更新上面的键/值,但控制台说我无法在 null 上调用 .target。由于某种原因, event.target 返回 null,我不确定为什么。如果有人有更好的解决方案来添加键入的值来更新状态,请提供帮助。
慕少森
相关分类