Tay*_*tin 6 javascript google-maps reactjs
当我调用窗口并控制台记录它时,我得到一个 google prop,如下所示:
然而,当我尝试打电话时,window.google我得到了未定义的信息。我在这里错过了什么吗?
小智 6
嘿,我在尝试实例化新的 window.google.maps.Map时遇到了类似的问题,并发现此解决方案对我有帮助。
声明<script>标签时,为其指定一个标识符,以便稍后可以在组件中获取它。
在安装组件时,在 Google 脚本上设置一个load事件侦听器,并等到它准备好后再执行任何其他代码。
需要注意的是,如果您的脚本在该组件安装(我们首先希望的)之前加载并设置事件侦听器,则不会发生任何事情。我们想要抓住这个积极的条件if (window.google)
componentDidMount() {
const googleScript = document.getElementById('google-map-script')
if (window.google) {
// All is good! Carry on
}
googleScript.addEventListener('load', () => {
// Patiently waiting to do the thing
})
}
Run Code Online (Sandbox Code Playgroud)
由于它看起来像 Google Maps API,因此可能是加载顺序问题。
确保<script>拉入 Google Maps 标记的标记位于运行 React 代码的标记之前。
如果这不是问题,您可能需要将 React 代码包装在某种ready()函数中,以强制它等待,直到 Google 代码准备就绪。
| 归档时间: |
|
| 查看次数: |
13793 次 |
| 最近记录: |