2017-10-06 25 views
0

Immutableで作成したMapオブジェクトをlocalstorageに配置し、後でそれを取得しようとしています。私はそれをテストしていて、なんらかの理由でタイトルに誤りがある。ここで私はローカルストレージと検索を更新しています。未知の型エラー:auth.getが関数ではありません

 this.props.dispatch(saveAuth(defaultAuth)) 
 
     localStorage.setItem('auth', defaultAuth); 
 

 
     const auth = localStorage.getItem('auth'); 
 

 
     console.log(auth.get('token'));

私は(AUTH)をCONSOLE.LOG場合、それはそうのようなオブジェクトを返します。 地図{ "USERTYPE": "管理者"、 "トークン":「eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImlhdCI6MTUwNzI2MjczMH0.hqnqtjZmX8tPuuJ7bkv3DgQmNpA3- OQhlZoQuFI3IF8 "}

答えて

1

ローカルストレージは値を文字列として格納するため、を取得しようとするとエラーが発生するのはなぜですかメソッドです。

ローカルストレージにトークン文字列を保存することをお勧めします。

必要な場合は、値を取得した後に新しいマップを作成できます。あなたが本当に全体の地図を格納する必要がある場合

これはあなたを助けるかもしれない:

http://2ality.com/2015/08/es6-map-json.html

function mapToJson(map) { 
    return JSON.stringify([...map]) 
} 

function jsonToMap(jsonStr) { 
    return new Map(JSON.parse(jsonStr)) 
} 
関連する問題