Как я могу присвоить значения состояния другому объекту? - PullRequest
0 голосов
/ 27 апреля 2018

Я попробовал все ниже.
Есть ли причина, по которой он не работает?
Есть какие-нибудь предложения?
Спасибо за ваши добрые ответы.

addInfo = () => {
  const hash = this.state.hash;
  //test if all required fields are provided
  if (this.state.firstName && this.state.lastName) {
    allMap[hash] = Object.assign(this.state);
    /*
    tried these too
    allMap[hash] = Object.assign({}, this.state);
    allMap[hash] = {...this.state};
    allMap[hash] = this.state
    */
    this.reset();
  } else {
    alert("please fill the required fields")
  }
};

1 Ответ

0 голосов
/ 27 апреля 2018

Это потому, что вы ничего не назначаете, ваш первый аргумент должен быть пустым {}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

 allMap[hash] = Object.assign({}, this.state);

В качестве альтернативы вы можете сделать:

 allMap[hash] = {...this.state}
...