Javascript Can';t从React组件访问脚本标记中的Google地图库
我一直试图通过React在我的页面上嵌入谷歌地图。在我的index.html中,我在我的标记之间添加了下面的scipr标记Javascript Can';t从React组件访问脚本标记中的Google地图库,javascript,html,reactjs,dom,google-maps-api-3,Javascript,Html,Reactjs,Dom,Google Maps Api 3,我一直试图通过React在我的页面上嵌入谷歌地图。在我的index.html中,我在我的标记之间添加了下面的scipr标记 <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap" async defer></script> 然而,我的React组件不会编译,因为它抱怨“google”对象不存在——这意味
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap" async defer></script>
然而,我的React组件不会编译,因为它抱怨“google”对象不存在——这意味着它没有像应该的那样向我公开。当然,当我转到控制台时,我可以访问它。看起来组件要么没有权限访问它(尽管它应该有权限,因为脚本标记中的对象是全局的,对吧?),要么在加载库之前访问它(我不知道如何修复,即使脚本标记中显示“延迟”)
任何帮助都将不胜感激。我的问题与类似,但公认的答案对我不起作用
我也试过了,但没用……我不确定我是否遗漏了什么。
如果要忽略该错误,请尝试在eslint配置中添加全局变量
“全局”:{
“谷歌”:真的吗
}
在我的示例中,我删除了script
标记中的callback参数,我是在我的组件中完成的
希望这能有所帮助。您使用过webpack或eslint吗?是的,我正在使用webpack——更具体地说,就是使用create react app中的所有内容。谢谢,这很有效,但我希望通过create react app保留我的所有配置。
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
scrollwheel: false,
zoom: 8
});