javascript - React-Native AirBnb map 未渲染

标签 javascript react-native react-native-maps react-native-listview

所以在构造函数中,我定义了一个状态

this.state = {
  markers: [{
            title: "Bike1",
            description: "Bike1",
            latitude: 38.232,
            longitude: -121.3312186
          },
          {
            title: "Bike2",
            description: "Bike2",
            latitude: 39.532,
            longitude: -123.5312186
          }]
}

稍后,我调用该函数将所有标记映射到实际的 MapView.Markers

看起来如下:

{this.state.markers.map( marker => {
          console.log(JSON.stringify(marker));
          <MapView.Marker
          coordinate={{longitude: marker.longitude, latitude: marker.latitude}}
          title={marker.title}
          description={marker.description}
          >
          <View style={styles.bikeRadius}>
            <View style={styles.bikeMarker}></View>
          </View>
          </MapView.Marker>
        })}

但是,当我调用单个标记时,这会起作用。

<MapView.Marker coordinate={{latitude: this.state.gpsPosition.latitude, longitude: this.state.gpsPosition.longitude}}>
        <View style={styles.radius}>
          <View style={styles.marker}></View>
        </View>
      </MapView.Marker>

我是 react 原生新手,不确定我做错了什么。有什么建议吗?

完整文件的链接是 https://codepen.io/yeni/pen/QgyWPZ

最佳答案

您没有从 map 函数返回任何内容来渲染。快速解决方法是执行以下操作:

{this.state.markers.map( (marker, index) => {
  console.log(JSON.stringify(marker));
  return (
    <MapView.Marker
      key={index}
      coordinate={{longitude: marker.longitude, latitude: marker.latitude}}
      title={marker.title}
      description={marker.description}
    >
      <View style={styles.bikeRadius}>
        <View style={styles.bikeMarker}></View>
      </View>
    </MapView.Marker>
  )
})}

我还提供了一种使用 map 函数中的 index 添加 key 的简单方法,因为您会收到一条警告以这种方式使用 map 时。

关于javascript - React-Native AirBnb map 未渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444866/

相关文章:

react-native - react 本地 map 在 Google Play 的独立版本上崩溃

javascript - 如何将json数据发送到可序列化类

c# - Live HighChart 不显示数据

android - android 发布版本上的 react-native-firebase NullPointerException

ios - React Native - 从 fetch() JSON 渲染多个元素?

react-native - React Native map UrlTile

android - React Native Android 应用崩溃并出现 "E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules"

javascript - 从右到左在容器内生成动画

javascript - 从 C++ 调用 javascript 函数

javascript - react native 绑定(bind)这个未定义的函数