将不可变对象转换为普通对象

时间:2018-05-31 08:13:07

标签: javascript reactjs immutable.js

我正在使用reactjs并且不知道为什么我会收到像

这样的数据
Map {size: 5, _root: ArrayMapNode, __ownerID: undefined, __hash: undefined, __altered: false}

为什么我在简单表单上提交此类数据?...如何在简单对象中更改此内容?...我知道可以使用.toJSON()进行更改,但实际上我不是&#39 ;想要这种类型......

我的反应成分

class AdminUsersForm extends PureComponent {
  submitForm = data => {
    console.log(data, 'dfsgggggggggggggg')
  }
  render() {
    const { handleSubmit } = this.props
    return (
      <form onSubmit={handleSubmit(this.submitForm)}> 
        <label>firstName</label>
        <Field
          name="firstName"
          className="textInput"
          component={InputField}
        />
      <button type="submit">Save</button>
    </form>
    )
  }
}

1 个答案:

答案 0 :(得分:2)

您的对象是使用不可变js Here创建的不可变对象。

你可以用你的对象操纵和做很多事情。例。要按键获取项目,请使用。

myImmutableObj.get('MyObjKey');

请参阅文档Here

您也可以创建类似下面的obj。

const { fromJS } = require('immutable');

let myObject = fromJS({
   name: 'My name',
   lastName: 'My Surname'
});

// This will print similar object from your pic.
console.log(myObject);


// here will print name value which is 'My name'
console.log(myObject.get('name');