您好我正在使用与GoogleMaps的反应,而我正试图将索引传递给onMarkerClick上的函数但是它对我不起作用。这3个参数自动传递(props,marker,e)但是当我传递索引它给我一个错误。 我不明白为什么。如果有人可以帮助我,我不会帮助你。
此代码位于App.js文件
中export class MapContainer extends Component {
onMarkerClick = (props, marker, e, index) => {
this.setState({
defaultAnimation: null,
showingInfoWindow: true,
activeMarker: marker,
selectedPlace: props
});
}
render() {
return (
{this.state.AddressListMarkers.map((marker, index) => (
<Marker
key={index}
onClick={() => this.onMarkerClick(index)}
/>
))}
)
}
}
如果可以帮助您测试代码我也放了我的git: https://github.com/Reyniergc/Neighborhood-Map-Builded-With-React.js
非常感谢
答案 0 :(得分:1)
我猜,您使用当前代码获取marker
,e
和index
的未定义值。
如下所示调用onClick处理程序应该可以解决问题:
<Marker
key={index}
onClick={(props, marker, e) => this.onMarkerClick(props, marker, e, index)}
/>
答案 1 :(得分:0)
您面临的错误是什么?
您应该调用传递所有参数的方法:
onClick={() => this.onMarkerClick(marker, e, index)}
但你可以直接引用道具:
this.onMarkerClick = this.onMarkerClick.bind(this);
onMarkerClick = (marker, e, index) => {
this.setState({
defaultAnimation: null,
showingInfoWindow: true,
activeMarker: marker,
selectedPlace: this.props
});