2017-02-01 3 views
-1

ng2 typescriptプロジェクトで作業する。 これは簡単なことです。私は店でMap<string, Relationship>を配置する必要がありますが、何らかの理由でそれが動作しませんでした: 私はデバッグに次のようでした:減速機でマップタイプを処理する方法

case relationActions.ActionTypes.SET_RELATIONSHIPS: { 
    console.log('reducer'); 
    console.log(action.payload); 
    return Object.assign({}, state, { 
    relationShips: action.payload 
    }); 
} 

ログは、私が期待していMapがある示しているが、再来devのツールが示しています。Object.assign()Mapを扱うことができないので、

relationShips(pin): null => {} 

はありますか? 解決策は何ですか?

答えて

0

純粋なJavascriptマップは変更可能であり、減速機の状態として使用しないでください。

実際にマップ構造を使用する場合は、Immutable.js( - >Map)を調べる必要があります。

あなたがImmutable.jsを使用したくない場合は、地図の内容をシミュレートするためにそのような状態を持っている必要があります。

{ 
    [`yourId1`]: 'value 1', 
    [`yourId2`]: 'value 2', 
    // ... 
} 

をしてObject.assignとそれを操作します。

+0

はありませんか、できませんでしたか? 'Object.assign'は' Map'を処理できますか? – InsaneBot

+0

私はそうは思わない。そういうわけで、不変のjsが便利になるのです – Maxime

関連する問題