[英]setstate object:{array:[]} in reactjs how could i add the **key and value inside the array which is in the state object**?
state object 中的数组内的键和值
this.state = { 频率:{ 天:[],开始日期:“”,自定义日期:“”},};
如何在 days 数组中添加关键广告值?
您可以使用setState
修改您的 state,如下所示:
this.setState({frequency: {...this.state.frequency, days: [...this.state.frequency.days, day]}});
function addKeyValue(key, value) {
this.setState(state => ({
...state,
frequency: {
...state.frequency,
days: [...state.frequency.days, {[key]: value}]
}
})
}
- 编辑
删除密钥有点棘手。
function removeKeyValue(key, value) {
this.setState(state => {
const days = state.frequency.days;
const dayIndex = days.findIndex(pr => pr[key] === value);
const day = {...days[dayIndex]};
delete day[key];
return {
...state,
frequency: {
...state.frequency,
days: [...days.slice(0, dayIndex),
day,
...days.slice(dayIndex + 1)]
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.