javascript - 如何构造 Immutable.Record 的子类?

标签 javascript ecmascript-6 immutable.js

class Event extends Immutable.Record {
  constructor(text) {
    super({text: text, timestamp: Date.now()});
  }
}

调用 new Event() 似乎返回一个构造函数:

new Event('started').toString()

"function Record(values){ if(values instanceof RecordType){ return values;}

if(!(this instanceof RecordType)){ return new RecordType(values);}

if(!hasInitialized){ hasInitialized=true; var keys=Object.keys(defaultValues); setProps(RecordTypePrototype,keys); RecordTypePrototype.size=keys.length; RecordTypePrototype._name=name; RecordTypePrototype._keys=keys; RecordTypePrototype._defaultValues=defaultValues;}

this._map=Map(values);}"

而调用该函数会返回预期的输出:

new Event('started')().toString()

"Record { "text": "started", "timestamp": 1453374580203 }"

我做错了什么?

最佳答案

Immutable.Record "Creates a new Class which produces Record instances .",换句话说,它本身就是一个函数,你传递允许的键并返回一个你可以扩展的类;

class Event extends Immutable.Record({text:'', timestamp:''}) {
  constructor(text) {
    super({text: text, timestamp: Date.now()});
  }
}

> new Event('started').toString()
Event { "text": "started", "timestamp": 1453376445769 }

关于javascript - 如何构造 Immutable.Record 的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34922321/

相关文章:

javascript - 将 child 和 parent 拖到一起

javascript - 如何创建自动化应用程序导览/演练?

javascript - 如何通过一次调用从两个单独的数组中获取具有相同类的元素?

javascript - 有人可以向我解释这个 es6 语法吗?

javascript - JavaScript 确认框中的取消选项仅返回 true 条件

javascript - 输入上的 onChange 不会使用 setState 更新状态

javascript - 在 Map() 的条目上使用 Promise.all

immutable.js - 如何使用 ImmutableJS 映射映射中的键值以生成另一个映射?

javascript - ImmutableJS - 更新矩阵的单元格

javascript - 在 Immutable.js 的 Map 中按属性对子对象进行排序的正确方法是什么