如何解决动态对象代替属性,而不是添加属性
因此,我正在尝试制定每日计划,因此您需要填写特定日期的任务。任务存储在状态对象中。根据年,月,日,任务类型,主题和任务名称,将每个任务置于其自己的动态属性中。 这是我目前正在对它进行排序
export const addTask = (tasks,fields) => {
// tasks are directly from the state
// fields are gathered from a form,then put as an argument for this function
console.log("pre add",tasks);
fields.subject = capitalizefirstLetter(fields.subject);
fields.name = capitalizefirstLetter(fields.name);
tasks[fields.date[0]] = {};
tasks[fields.date[0]][fields.date[1]] = {};
tasks[fields.date[0]][fields.date[1]][fields.date[2]] = {};
tasks[fields.date[0]][fields.date[1]][fields.date[2]][fields.type] = {};
tasks[fields.date[0]][fields.date[1]][fields.date[2]][fields.type][fields.subject] = {};
tasks[fields.date[0]][fields.date[1]][fields.date[2]][fields.type][fields.subject][fields.name] = {};
tasks[fields.date[0]][fields.date[1]][fields.date[2]][fields.type][fields.subject][fields.name] = fields.details;
console.log("post add",tasks);
return tasks;
};
这是我的状态:
const state = {
tasks: {// this is what I put in the addTask function},dates: {
monthCounter: 0,targetDate: {},},};
state.tasks = addTask(state.tasks,fields);
每当我添加另一个任务时,最后一个任务就会被删除/替换。即使两个任务的主题相同,但名称不同,第一个任务也会被删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。