0

コンポーネントの render メソッドで配列をマップしようとしていますが、配列である.map is not a functionにもかかわらず、引き続き表示されます。

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>
);

コンソール ログには次の結果が表示されます。

[{"id":1,"名前":"ベルリン","国":"ドイツ","デフォルト":1,"スラッグ":"ベルリン"},{"id":2,"名前": "ハンブルグ","国":"ドイツ","デフォルト":0,"スラッグ":"ハンブルグ"}]

未定義の理由.mapがわかりません - ここで何か不足していますか?

4

1 に答える 1

1

state.cities.itemsChrome または Firefox を使用している場合、配列ではなく JSON 文字列のように見えます。

試す

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

実際の配列の場合、出力はFirefox またはChromeconsole.logのようになります。Array [ Object, Object ]>[Object]

于 2016-07-20T22:37:35.920 に答える