Immutable.js - toJS 不是函数

Immutable.js - toJS Is Not A Function

我在尝试使用此函数时收到类型错误。

根据 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 上收到错误。我究竟做错了什么? 谢谢,

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

import { Map as iMap } from "immutable";

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

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

你会这样处理:

import { fromJS } from "immutable";

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

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