Immutable.js - toJS不是一个函数

时间:2016-05-04 16:11:22

标签: javascript dictionary immutability immutable.js

我尝试使用此函数时收到typeError。

根据Immutable.js文档,我想将obj转换为普通的JS obj。

以下是示例:

import { Map as iMap,
         toJS } from "immutable";

    let anExample = iMap({
        a : "a",
        b : "b"
    });
    console.log( "anExample is...", toJS( anExample ) );

我在Map上没有收到错误,但我在toJS上收到错误。我究竟做错了什么? 谢谢,

1 个答案:

答案 0 :(得分:9)

您不需要导入toJS,因为它在不可变对象本身上找到。根据你的例子,你会这样做:

import { Map as iMap } from "immutable";

let anExample = iMap({
    a : "a",
    b : "b"
});
console.log( "anExample is...", anExample.toJS() );

另一种方法是导入fromJSfromJS是一个懒惰的"将JS转换为不可变的方式;但是,如果您需要特定的不可变结构(如OrderedSet而不是List),则不理想。

你会这样处理:

import { fromJS } from "immutable";

let anExample = fromJS({
    a : "a",
    b : "b"
});
console.log( "anExample is...", anExample.toJS() );

希望这有帮助,如果您有任何问题,请告诉我们!