微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态对象代替属性,而不是添加属性

如何解决动态对象代替属性,而不是添加属性

因此,我正在尝试制定每日计划,因此您需要填写特定日期的任务。任务存储在状态对象中。根据年,月,日,任务类型,主题和任务名称,将每个任务置于其自己的动态属性中。 这是我目前正在对它进行排序

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 举报,一经查实,本站将立刻删除。