2016-07-20 15 views
0

配列をマップしたいのですが、配列でも.map is not a functionと表示され続けます。配列を渡しても.map()が定義されていません

[{ "ID":1、 "名": "ベルリン"、 "国": "ドイツ"、 "デフォルト":

return (
    <select className="c-select"> 
    <option value="">Choose your city</option> 
     {console.log(state.cities.items)} 
     {state.cities.items.map(city => <option key={city.slug} value={city.slug}>{city.name}</option>)} 
    </select> 
); 

コンソールログは、私にこの結果を与える1 、 "スラグ": "ベルリン"}、{"ID":2、 "名前": "ハンブルク"、 "国" "ドイツ"、 "デフォルト":0、 "スラッグ": "ハンブルク"}

.mapが定義されていない理由がわかりません - ここに何か不足していますか?

答えて

1

ChromeまたはFirefoxを使用している場合、state.cities.itemsはJSON文字列であり、配列ではないようです。

するとconsole.log本当のアレイ、出力はクローム

でFirefoxで Array [ Object, Object ]または >[Object]
+1

のようになります場合は

{JSON.parse(state.cities.items).map(...)} 

をお試しください...手遅れに、私はスリープ状態にする必要があります。ありがとう –

関連する問題