我的反应谷歌地图的脚本没有加载

时间:2017-10-03 08:27:06

标签: reactjs google-maps google-maps-api-3 react-google-maps

我想渲染组件Searchbox,我将其完全复制到我的应用程序中,但是我收到错误:

error  Line 44:  'google' is not defined  no-undef   Line 79:  'google' is not defined  no-undef 

我已经加载了我的

<script async defer src="https://maps.googleapis.com/maps/api/js?key=MY_KEY_IS_HERE"></script>

进入index.html的头部,但无论如何它都会向我显示错误。可能是index.html无法加载我的脚本吗?

我用create-react-app

创建了我的应用程序

1 个答案:

答案 0 :(得分:2)

可能是你的linter抱怨一个未定义的变量。因为&#39; google&#39;在外部加载<script>标记的脚本中定义,您的linter不知道它。尝试为变量添加例外。在eslint中,您可以在访问变量的文件顶部添加此行:     /*global google*/ 但由于async标记中包含<script>属性,因此您的脚本可能仍会在执行maps API之前运行。一种解决方案是删除asyncdefer属性。但是,如果您确实希望map API以异步方式加载,那么您可以尝试使用其他库,例如react-async-script-loader。 这是关于类似问题的discussion