[英]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.