javascript - React Native 和 mobx : [getFunction] is not a function

标签 javascript android-mapview react-native mobx

我目前正在尝试实现一个 MobX 函数,该函数从 Firebase 数据库导入标记,如下所示:

fbMarkers.getMarkers().forEach( (marker, index) => {
  console.log("Adding marker to map..");
  console.log(JSON.stringify(marker));
...

但是,我收到错误 _MarkersStore.fbMarkers.getMarkers 不是函数。 该函数如下所示:

@computed get getMarkers() {
    console.log("Getting markers.. which are:");
    console.log(JSON.stringify(this.markers));
    return this.markers;
  }

每当我从签名中删除 @compulated get 部分(例如签名为 getMarkers() {...})时,我就可以成功调用该函数,但我的标记未显示(我正在使用 Airbnb map View )。

我的渲染方法如下:

render() {
    var renderingMarkers = fbMarkers.markers.slice() || [];
    return (<View>
      {renderingMarkers.forEach( (marker, index) => {
      return (
      <MapView.Marker
      navigator={this.props.navigator}
      key={index}
      coordinate={{latitude: marker.coordinate.latitude, longitude: marker.coordinate.longitude}}
      title={marker.title}
      description={marker.description}
      onPress={(coord, pos) => this.navigateToBookBike(marker.title)}
      ><View style={styles.bikeRadius}><View style={styles.bikeMarker}>
      <Text>Heyy</Text>
      </View></View>
      </MapView.Marker>
);
      })}
      </View>)
  }

我是否犯了任何明显的错误,或者有什么我必须注意的事情?欢迎任何帮助和想法! :)

完整代码为here ,如果这有帮助

最佳答案

您正在使用 JavaScript getter ,这意味着您不应该像函数调用那样取消引用该值。改为这样做:

fbMarkers.getMarkers.forEach((marker, index) => {
  console.log("Adding marker to map..");
  console.log(JSON.stringify(marker));
});

关于javascript - React Native 和 mobx : [getFunction] is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44652967/

相关文章:

android - MapController 调用在事件处理程序内部不起作用?

Android MapView自定义标记都是一样大小的

Javascript 合并并重命名 Json 对象

javascript - Action 拒绝返回 bool 值

javascript - 按键值过滤对象的有效方法

android - 根据手机当前方向旋转 Mapbox map

Javascript : async constructor pattern

android - 如何 Hook viewpager 滑动事件以更新状态 react-native android?

view - React-Native : measure a View

ios - React Native 版本不匹配 0.59.1 > 0.61.2