Присоединение объекта JSON внутри состояния компонента и его отображение - PullRequest
0 голосов
/ 16 мая 2019

У меня есть функция, которой я передаю состояние объекта. Внутри функции я выполняю некоторые операции над состоянием. Теперь я хочу обновить состояние выполненными мною операциями и отобразить его в виде объекта JSON.

У меня есть состояние:

state= {
    company: "xyz",
    employee: {
        name:["a","b"],
        age: [13,14]
      },
      details: {
        salary:[],
        dept:[]
      }
   }
}

У меня есть функция, в которой я заполнил значения зарплаты и отдела


function updatestate(state){
//some operations..
//const output has values 
//output variable has something like this stored in it=> 
// salary:[["2500"],["4000"]] , dept:[["fin"],["mkt"]] 
}

переданный объект состояния имеет все значения; Теперь я хочу добавить значения зарплаты и Dept внутри фильтров.

Ожидаемый результат:

state= {
    company: "xyz",
    employee: {
        name:["a","b"],
        age: [13,14]
      },
      details: {
        salary:[["2500"],["4000"]] , 
        dept:[["fin"],["mkt"]]
      }
   }
}

Я попробовал ручное кодирование:

//inside the function updatestate(state)

 const state_json = {details : output} 
 return JSON.stringify(state_json);     

Но я хочу показать все состояние и найти способ автоматического добавления значений в состояние и отображения в виде JSON

1 Ответ

0 голосов
/ 16 мая 2019

Я не уверен с вашей проблемой, но я думаю, что вы можете использовать JSON.stringify () Fn для того же.

let state= {
    company: "xyz",
    employee: {
        name:["a","b"],
        age: [13,14]
      },
    details: {
      salary:[],
      dept:[]
    }
   };

function updatestate(state) {
  const baseData = {
   salary:[["2500"],["4000"]] , 
   dept:[["fin"],["mkt"]] 
  };
  state.details.salary = baseData.salary;
  state.details.dept = baseData.dept;
  return state;
}

state = updatestate(state);
console.log(JSON.stringify(state));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...