Javascript Can';t从React组件访问脚本标记中的Google地图库

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”对象不存在——这意味

我一直试图通过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”对象不存在——这意味着它没有像应该的那样向我公开。当然,当我转到控制台时,我可以访问它。看起来组件要么没有权限访问它(尽管它应该有权限,因为脚本标记中的对象是全局的,对吧?),要么在加载库之前访问它(我不知道如何修复,即使脚本标记中显示“延迟”)

任何帮助都将不胜感激。我的问题与类似,但公认的答案对我不起作用

我也试过了,但没用……我不确定我是否遗漏了什么。

如果要忽略该错误,请尝试在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
    });