我想用.map()显示我的状态

时间:2018-04-27 10:06:07

标签: javascript ios react-native

我有这样一个州:

enter image description here

我想在我的渲染中使用.map()显示它,如下所示:

{this.state.markers.map((marker, key) => (
     <Marker
         key={key}
         coordinate={this.state.markers[marker].coordinate}
         title={this.state.markers[marker].title}
         description={this.state.markers[marker].address}
         image={require('../images/community.png')}
      />
 ))}  

但是每次测试都有这个回复:

this.state.markers.map is not a function

我该怎么做?

1 个答案:

答案 0 :(得分:0)

根据您的 ScreenShot this.state.markers不是array它是Object因此您无法按原样映射< / em>的

要映射它,您需要使用Object.keys

结果代码将变为

{Object.keys(this.state.markers).map((marker, key) => (
    <Marker
        key={key}
        coordinate={this.state.markers[marker].coordinate}
        title={this.state.markers[marker].title}
        description={this.state.markers[marker].address}
        image={require('../images/community.png')}
    />
))}