2017-03-18 29 views
0

我注意到,在下面的代码段为什么Immutable.js记录中的数组是可变的?

const TaskRecord = new Immutable.Record({ 
    name: '', 
    requiredFor: [], 
}); 

class Task extends TaskRecord { 
} 

const task = new Task(); 

task.requiredFor真的是一个数组(调用get('requiredFor')任务类中产生同样的结果),并没有得到转化为Immutable.List ......这样该记录不是不可改变的。

这是为什么?如何解决这个问题?

+3

这是唯一的'Immutable.Record'这是不可改变的。你无法修复它,它的目的。 – zerkms

回答

0

好像在构造使魔不工作:

class Task extends TaskRecord { 

    constructor(values) { 
     super(Immutable.fromJS(values)); 
    } 

} 
相关问题