参考文档:http://facebook.github.io/immutable-js/docs/#/Record/Record
Record 感觉像是一个强类型,只能包含定义时候的属性,不能新增或删除属性
入门demo,可以看到和普通的map没有什么特别不同
const { Record } = require('immutable')
const ABRecord = Record({ a: 1, b: 2 })
const myRecord = new ABRecord({ a: 3 })
console.log(myRecord.toJS());
但是当new 的时候,无法赋予其它的值,(赋值无效),如下demo输出的依然是 a,b
const { Record } = require('immutable')
const ABRecord = Record({ a: 1, b: 2 })
const myRecord = new ABRecord({ c: 3 })
console.log(myRecord.toJS());
当给record赋予其它值的时候,会报错
const { Record } = require('immutable')
const ABRecord = Record({ a: 1, b: 2 })
const myRecord = new ABRecord({ a: 3 })
myRecord.set("c",4);
错误如下
throw new Error('Cannot set unknown key "' + k + '" on ' + recordName(this));