在react.js的脚本标签中使用javascript SDK

时间:2018-10-10 22:20:10

标签: javascript html reactjs

基本上,我正在尝试将第三方提供的外部JDK实现到我的react应用程序中。它实际上是在页面上插入一个交互式地图。在使用指南中,其实现方式如下:

<div class="mapdiv" id="some_id" other_important_content="something"></div>
<script src="https://example.com/script.js"></script>

您只需将其粘贴在html中的任何位置,它就会在mapdiv中加载地图。

很可惜,这不是反应如何处理的。我想要一个地图小部件,但是我应该如何包含这个脚本?没有NPM软件包。我假设会发生什么,脚本将查找div并加载相关内容。在反应中处理此问题的最佳实践是什么?

1 个答案:

答案 0 :(得分:0)

您可以像这样将其包含在index.html中

<!doctype html>
<head>
  <meta charset="utf-8">
  <title>Title</title>
</head>
<body>

  <script async defer src="https://example.com/script.js"></script>
  <script src="./index.js" async></script>

</body>
</html>

或使用componentDidMount:

  componentDidMount() {
    loadJS(
      "https://example.com/script.js"
    ) 
  }

function loadJS(src) {
  const ref = window.document.getElementsByTagName("script")[0] 
  const script = window.document.createElement("script") 
  script.src = src 
  script.async = true 
  ref.parentNode.insertBefore(script, ref) 
}