我在Google地图上有信息窗口,每当用户单击信息窗口中的心脏图标时,我都想调用一个名为“ addToShortlist”的函数。我首先尝试了这种方法:
let html = `<div class="map-infobox">
<span id=${school.schoolID} onclick="addToShortlist(this.id)">
<i title="heart-icon"></i>
</span>
</div>`
window.google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(html);
infowindow.open(this.map, this);
});
它可以正常工作,但是addToShortlist在react的范围之外。我希望能够在react中使用一个函数,以便可以更新组件的状态和内容。 然后我尝试了:
ReactDOMServer.renderToString()
但是它仅呈现为字符串,并且所有js onclick处理程序将根本无法工作。
我认为react-google-maps可能可以解决我的问题,但是我已经在没有该库的情况下构建了我的项目。有没有不使用react-google-maps来完成此任务?非常感谢。