gpt4 book ai didi

javascript - React-在已经需要 'this' 的方法中调用 this.setState

转载 作者:行者123 更新时间:2023-12-02 15:06:04 25 4
gpt4 key购买 nike

我正在使用 for 循环来迭代我的 Google map 标记:

for (i = 0; i < all_professionals.length; i++) { 
var marker = new google.maps.Marker({
position: this.props.listings[i].lat_lng,
title: this.props.listings[i].name,
animation: google.maps.Animation.DROP,
map:map
});

marker.addListener('click', function(){
map.panTo(this.getPosition());
selected = this.title;
console.log(selected);
this.setState({clickedOn: selected}) <<<<<<<<
})
}

addListener 方法中,我尝试运行 this.setStatethis.props.methodFromParent 例如 this.props .methodFromParent(this.title)。如何在不干扰引用标记的 this 的情况下执行此操作。正如预期的那样,使用 this.setState 将返回一个错误,指出 this.setState 不是函数。绑定(bind) addListener 方法将返回 this.getPosition 不是函数

谢谢。

最佳答案

在循环之前保存对类实例 this 的引用。

var self = this;
for (i = 0; i < all_professionals.length; i++) {
// ...
marker.addListener('click', function(){
// ...
self.setState({clickedOn: selected}) <<<<<<<<
})
}

关于javascript - React-在已经需要 'this' 的方法中调用 this.setState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com