React,从组件中的脚本访问 var

2023-12-01

我一直在尝试导入外部库(谷歌地图)以便在 React 组件中使用它

索引.html file

<div id="app"></div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY_GOES_HERE&callback=initMap" async defer>

反应文件

  componentDidMount() {
    this.map = new google.maps.Map(this.refs.map, {
      center: {lat: this.props.lat, lng: this.props.lng},
      zoom: 8
    });   
  }

    render() {
      return <div>
        <p>I am a map component</p>
        <div id="map" ref="map"/>
      </div>
    }

我得到的错误是:

未捕获的引用错误:谷歌未定义

我已经尝试了一切,但似乎没有任何效果。如何从组件内的脚本访问变量?

这只是一个示例,请不要告诉我使用 React Google Maps 的 NPM 包之一。

谢谢, 哈里斯


聚会有点晚了,但我也遇到了这个问题,对我来说,这是由 eslint 引起的。要禁用它只需添加评论/*global google*/上面声明变量的地方,它应该可以工作,例如

  componentDidMount() {
    /*global google*/ // To disable any eslint 'google not defined' errors
    this.map = new google.maps.Map(this.refs.map, {
      center: {lat: this.props.lat, lng: this.props.lng},
      zoom: 8
    });   
  }

    render() {
      return <div>
        <p>I am a map component</p>
        <div id="map" ref="map"/>
      </div>
    }

您还可以使用 window 对象进行调用:

  componentDidMount() {
    /* Use new window.google... instead of new google... */
    this.map = new window.google.maps.Map(this.refs.map, {
      center: {lat: this.props.lat, lng: this.props.lng},
      zoom: 8
    });   
  }

    render() {
      return <div>
        <p>I am a map component</p>
        <div id="map" ref="map"/>
      </div>
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React,从组件中的脚本访问 var 的相关文章

  • 非常基本的 JS 编码,是否有 SoundManager2?

    我想在我的网站上包含一个具有以下属性的音频 可能的视频播放器 必须可通过 div 通过 CSS 设计样式 可以读取所有ID3信息 可以从数据库中提取文件 可能是 GoDaddy 的 Easy Database 无闪光 可转移至智能手机等 我
  • 使用智能菜单jquery打印json

    menu name Computers children name Notebook children name Apple name Windows name Tablets children name Apple name Androi
  • 使用 Javascript 实现 Tinder 风格的拖放手势?

    我正在尝试找出哪些库可以用于仅使用 Javascript 的 Tinder 风格拖放手势 需要创建一个响应拖动手势的 HTML 元素 触摸并按住时 允许元素跟随用户的手指移动 当用户移开手指时 该元素会 动画回到原来的位置 如果元素在释放时
  • 如何使用jquery格式化数字

    我正在尝试删除 之后的数字 然后我想格式化数字 16810900 211233 喜欢这个 16 810 900 但我不知道该怎么做 这是我的 html 是这样的 div class main p class active 10200 00
  • 重新排序 Magento JavaScript 包含 (addJs)

    我会保持简单 在我的产品页面上 我需要删除prototype js 文件并将其替换为最新版本的prototype 到目前为止 我已经使用 local xml 成功替换了它
  • 将图像缩略图上传到服务器,而不上传整个图像

    据我所知 我在这里问的是不可能的 但我想无论如何我都会问 以防我遗漏了什么 假设您想让用户上传 JPG 图像 并且这些图像被缩放为较小的图标 并且原始图像始终被丢弃并且不再需要 有没有什么方法可以在大多数现代浏览器中普遍使用 让用户选择硬盘
  • MUI 组件上的渐变边框

    我没能找到相当于border image source css 我的目标是在按钮组件上渲染边框渐变 这是添加渐变边框的方法button成分 V5 const options shouldForwardProp prop gt prop gr
  • Node.js Google-云存储上传目的地规范

    我有一个 Node js 服务器并且正在使用谷歌云上传一些图像文件的包Firebase 存储 上传本身工作正常 但 google cloud API 似乎只能将文件上传到 Firebase Storage 根文件夹 有没有办法指定远程位置来
  • 如何使用 Underscore 获取 JavaScript 数组中的重复项

    我有一个数组 我需要重复的项目并根据特定属性打印这些项目 我知道如何使用 underscore js 获取唯一项目 但我需要找到重复项而不是唯一值 var somevalue name john country spain name jan
  • Javascript 自时间戳以来经过的时间

    我试图通过将其存储在变量中来 缓存 一些信息 如果 2 分钟过去了 我想获取 实时 值 调用 url 如果 2 分钟还没有过去 我想从变量中获取数据 我基本上想要的是 if time passed is less than 2 minute
  • 对函数而非组件做出延迟加载反应

    我正在开发一个 React v16 应用程序 需要加载一个重型 IMO 库来导出 xlsx 数据 我正在使用功能组件 挂钩 我了解并使用过
  • jQuery 如何通过不同的列值计算表中的行数

    如何按表列计算不同的表行 Example table thead tr th NAME th th TECHNOLOGY th tr thead tbody tr td john td td jQuery td tr tr td mark
  • 酶无法通过道具找到组件

    我正在使用 Enzyme 测试一个组件 如下所示
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • javascript 中一次仅选中一个复选框

    I have 3复选框 我只想1一次选中的复选框 下面是我的 html 小提琴 JS小提琴 https jsfiddle net n03jLhqa 我想要这个工作在IE8还请建议如何做 这个怎么样 fiddle http jsfiddle
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • 限制线的长度

    我正在尝试画一条代表 弹弓 的线 并且希望它具有最大拉伸长度 在 p5 中 我在位置和位置之间画了一条线 line posA x posA y posB x posB y posA 是鼠标 x 和 y posB 是画布上圆的位置 我想要做的
  • gatsbyjs、reactjs - 为什么组件渲染两次而图像没有出现?

    我是新来的gatsbyjs并使用 v2 我有 3 个组件 加载器 标题和布局 layout js import React from react import Helmet from react helmet import StaticQu
  • 使用 Three.js 中的设备方向控件进行对象旋转

    我正在迈出使用 JavaScript 进行编码并使用 Three js 的第一步 我正在尝试 Threejs org 的这个例子 http trijs org examples misc controls deviceorientation

随机推荐

  • 添加新视图时运行所选代码生成器时出错

    我正在开发一个 asp net core MVC 项目 我需要为控制器的方法添加一个视图 为此 我右键单击所考虑的方法的主体 然后选择 添加视图 但系统显示错误 运行所选代码生成器时出错 包恢复失败 回滚包更改 MyProject 如果有人
  • Sql Server sp_send_dbmail 从本地临时表发送查询结果

    尝试使用 sp send dbmail 从存储过程输出结果 感谢 Joe Stefanneli 提供解决方案 当使用全局临时表变量 Summary 时 它可以工作 当使用本地临时表变量 Summary 时 它会失败 据我所知 全局变量选项在
  • 构建多页面表单以在数据库中创建和编辑模型的最佳方法是什么?

    我对 Rails 还很陌生 在 Rails 中设计 构造多页表单的最佳方法是什么 我希望表单在提交表单的第一页时立即在数据库中创建一条新记录 并为表单的每个后续页面更新数据库中的该记录 我希望在提交第一页后立即创建记录的原因是 这样可以有用
  • 为什么我的会话变量在构建控制器时不可用?

    使用 ASP NET MVC 尝试从构造函数获取存储在 Session objectName 上的信息时 我发现 Session 尚未设置 但一旦构造了控制器 Session 就包含正确的信息 public class ABCControl
  • 可视化两组数据之间的关联

    其中每个数据点都有 A 和 B 的配对 并且 A 中有多个条目 B 中有多个整体 即 多个综合症和多个诊断 尽管对于每个数据点来说 都有一个综合症 诊断对 非常感谢示例 建议或想法 数据是这样的 我想查看 A 和 B 值之间的联系 有多少
  • 如何允许下载从 AJAX 作为二进制数据返回的文件

    我的问题是 我首先向客户端发送 PDF 进行下载 然后我需要检查我的数据库中是否存在某些数据 然后根据该检查 我需要显示问题 如果用户想要下载我生成的另一个 PDF My Code Here I just make dialog for q
  • `... | 是什么意思?类型类声明中的 b -> c` 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 是什么for 在 Haskell 类定义中 以下内容 来自Data HList HListPrelude 我该如何解释 l l gt l part class HAppend l l l l l gt
  • 如何使用 selenium python 抓取网站中的 ::before 元素

    我正在尝试使用硒从该网站上抓取电话号码 我发现该类是 tel ttel 但是当我尝试通过 find element by xpath 抓取网站时 我得到一个空字符串 My code wd webdriver Chrome chrome pa
  • Android 网页视图 POST

    我试图完成一些非常简单的事情 但我没有找到关于这方面的好的文档 我有一个 webView 我需要在其中加载一个需要 POST 数据的页面 看起来像一个简单的过程 但我找不到在 webView 中显示结果的方法 该过程应该很简单 查询 带有
  • 有谁的 iOS 应用程序因使用设备 UDID 而被 Apple 拒绝吗?

    我听到一些传言称苹果正在拒绝使用 iOS5 已弃用方法的应用程序 UIDevice uniqueIdentifier 任何人都可以确认他们的应用程序因此被拒绝吗 我知道使用这种已弃用的方法的替代方法 但我们的一位客户要求我们使用我们知道使用
  • 在使用 java 日志记录 API 时,如何禁用默认控制台处理程序?

    您好 我正在尝试在我的应用程序中实现 java 日志记录 我想使用两个处理程序 文件处理程序和我自己的控制台处理程序 我的两个处理程序都工作得很好 我的日志记录发送到文件和控制台 我的日志记录也被发送到默认的控制台处理程序 这是我不想要的
  • 处理 bash for...in 循环中的特殊字符

    假设我有一个文件列表 file1 file 1 file2 for in 循环将其分解为空格 而不是换行符 for x in ls do echo x done results file 1 file1 file2 我想对每个文件执行一个命
  • 如何在预定义的固定时间运行 MYSQL 查询?

    我有一个 Mysql 插入查询 我需要每天上午 11 00 运行查询 如何在MySQL中执行固定时间的查询 在 MS SQL 中 我可以通过 SQL Server 代理作业调度程序轻松完成此操作 那么 有什么方法可以在 MySQL 中运行预
  • 空手道测试在每个场景/功能之后进行清理[重复]

    这个问题在这里已经有答案了 这是我们使用空手道进行测试时面临的一个实际场景 我们有一个使用空手道测试的图形 API 想象一下这个 每个空手道功能都会在图中创建父节点和子节点以验证某些业务逻辑 然后想象一下有一套 100 个测试 这意味着创建
  • Heroku 错误:Web 进程无法在启动后 60 秒内绑定到 $PORT(使用 axios)

    这是完整的错误代码 错误 R10 启动超时 gt Web 进程未能在启动后 60 秒内绑定到 PORT 很多答案都说这与设置端口有关 因为heroku是动态设置的 但是如果我使用axios而不是server listen 并且需要mcsrv
  • 使用 FileWriter (Java) 以 UTF-8 写入文件?

    但是 我有以下代码 我希望将其编写为 UTF 8 文件来处理外来字符 有没有办法做到这一点 是否需要有一个参数 我非常感谢您对此的帮助 谢谢 try BufferedReader reader new BufferedReader new
  • Ajax 函数(如 .load())从 HTML 中删除注释。如何保留评论?

    例如 some div load http foo bar content 将检索 content from http foo bar但对于所有 HTML被剥夺了 我如何检索内容 content 包括任何意见 来自jQuery 手册 jQu
  • Rust 与 C++:从函数返回对象

    我是 Rust 新手 试图了解从函数返回对象时如何传递所有权 在以下基于引用的实现中 由于引用没有所有权 因此当 s 超出范围时 它会被删除并释放 fn dangle gt String dangle returns a reference
  • MPMoviePlayerController 多任务问题

    我在 iPhone 上开发一个应用程序 使用 MPMoviePlayerController 来播放音频文件 当应用程序进入后台时 如果 mpmovieplayer 正在播放 iPhone 会继续播放当前音乐 但当播放结束时 下一首曲目不会
  • React,从组件中的脚本访问 var

    我一直在尝试导入外部库 谷歌地图 以便在 React 组件中使用它 索引 html file div div