2016-05-04 6 views
5

されていません。Immutable.js - toJS私はこの機能を使用しようとしたとき、私はTypeError例外を取得しています機能

Immutable.jsドキュメントごとのように、私は通常のJSのOBJにOBJを変換したいです。ここで

は一例です:

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

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

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

+1

それはむしろ不変の地図よりも[ 'ネイティブMap'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)をデフォルトされるような音。不変がインストールされていますか?これはまた 'toJS'が定義されていない理由を説明します... – Dom

+0

はいです。そして、私は、 'immutable' 'Map'関数を 'iMap'(Line1)に参照しているのでネイティブにデフォルト設定しているとは思わないし、 'anExample'をログすると正しいconsole.logが返される – Kayote

+0

ああ待って!私はその問題を見る。 1分、私は答えを書くでしょう – Dom

答えて

7

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

import { Map as iMap } from "immutable"; 

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

もう一つの方法は、fromJSをインポートすることです。 fromJSはJSを不変に変換する「怠惰な」方法です。しかし、特定の不変構造(例えば、ではなくOrderedSetなど)が必要な場合は理想的ではありません。

あなたはこのようにそれを処理します:

import { fromJS } from "immutable"; 

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

・ホープ、このことができますし、ご質問があれば私に知らせて!

+1

あなたは天才です。ありがとうございました。 – Kayote

関連する問題