我想在我的渲染中使用.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
我该怎么做?
答案 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')}
/>
))}