【发布时间】:2021-09-15 10:50:04
【问题描述】:
我正在使用 useReducer 这就是我所拥有的:
const initialState = {
optionalFilter: {
take: Math.round((window.innerHeight - 330) / 34),
page: 1,
},
reportFilter: {
searchItem:[],
dateFilter: {
StartDate:new Date(new Date().setDate(new Date().getDate() - 3100)),
EndDate:new Date(),
},
},
};
const reducer = (state, action) => {
switch (action.type) {
case "changeFilter":
console.log("action",action.payload)
return updateObject(state, {
optionalFilter: updateObject(state.optionalFilter, {
page: 1,
}),
reportFilter: updateObject(state.reportFilter, {
searchItem: action.payload,
}),
reportFilter: updateObject(state.reportFilter.dateFilter, {
StartDate:new Date(new Date().setDate(new Date().getDate() - 3100)),
EndDate:new Date(),
}),
});
}
};
当我想应用填充时。例如,当我得到一个操作控制台时,我有这样一个数组:
action.payload 的控制台==>[{property:"StartDate: , 值:“12.12.12”}{属性:“结束日期:, value:"13.13.12"}{property:"Title: , value:"test"}{property:"name":, 值:“名称”}]
我应该如何将 StartDate 和 EndDate 值放在 state.reportFilter.dateFilter 中,并将其余值放在 searchItem 数组中
【问题讨论】:
-
能够从对象中删除 add --- delete myObject.StartDate
-
向对象添加新数据只需执行 myObject['newobject'] = "hello"
-
你能说明什么是updateObject函数吗?
标签: javascript arrays reactjs reduce use-reducer