fromJS
做得很好即使使用嵌套结构也是如此:
javascript
const nested = [ { id: 1, val1: '1, other: { id: 1, prop1: '0' } }, true ];
BUT
只要对象 String(MyObject)
= [object Object]
fromJS
,就会将其转换为Map()
。
但当对象是文件 String(MyFileObject)
= [object File]
时,fromJS
会将其留下[object File]
答案 0 :(得分:0)
您不能冻结文件对象。但是,File始终由一堆只读字段组成,因此可能无需转换它。
如果要限制与对象的交互,可以使用包装方法,如Is there a way to freeze an ES6 Map?中所述。将对象包装在包装器中,这会限制对它的访问。然后,您可以编写自己的reviver
for fromJS来专门转换这些对象:
function reviver(key, value) {
if (value instanceof File) {
return wrapFile(value);
}
return isKeyed(value) ? value.toMap() : value.toList()
}