web-dev-qa-db-ja.com

Immutable.js-toJSは関数ではありません

この関数を使おうとすると、typeErrorが発生します。

Immutable.js docsに従って、objを通常のJSobjに変換したいと思います。

次に例を示します。

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

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

Mapではエラーは発生しませんが、toJSではエラーが発生します。私は何が間違っているのですか?ありがとう、

8
Kayote

toJSは不変オブジェクト自体にあるため、インポートする必要はありません。あなたの例に基づいて、あなたはそのようにそれについて行くでしょう:

import { Map as iMap } from "immutable";

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

これを回避するもう1つの方法は、インポートすることです fromJSfromJSは、JSを不変に変換する「怠惰な」方法です。ただし、特定の不変構造(OrderedSetではなくListなど)が必要な場合は理想的ではありません。

あなたはそれをこのように扱うでしょう:

import { fromJS } from "immutable";

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

これがお役に立てば幸いです。ご不明な点がありましたらお知らせください。

11
Dom