繁体   English   中英

ReactJS - 外部 JS 函数“不是函数”

[英]ReactJS - External JS Function “is not a function”

原始链接

我正在尝试调用我的 3rd 方要求我包含的外部 JS 函数,以便使用他们的 API,但无法正常工作。

从我读过的内容来看,我应该在我的 index.html 中包含外部 JS 之后使用,例如 window.extFn() ,其中包含 extFn() 像这样

...并且应该像这里的回答一样使用它:从反应组件调用外部 Javascript 函数,无论所述函数是在文件内还是只是在 index.html 部分定义。 这适用于我为测试而创建的 JS 文件。

//File: test.js
function test() {
    return "Hello";
}

...像往常一样导入带有脚本标签的 JS 文件,并在我的 React 组件的 render() 中使用 console.log(window.test()) 返回 Hello。

我尝试将导入从 body 移动到 HTML head,反之亦然,但我仍然遇到的错误是:

TypeError: window.extFn is not a function
QuickCheckout.render

    ....
      22 |    }
      23 | 
      24 |    render() {
    > 25 |        window.extFn({
      26 |            
    View compiled
    ▶ 20 stack frames were collapsed.

当我查看浏览器控制台时,出于某种原因,我有(这似乎是关键问题)

Uncaught SyntaxError: Unexpected token <                                     external.js:1

我上面的 test.js 文件在我的实验中起作用,它也在我的控制台中产生了Unexpected token < error ......

从本地源导入 JS:

<script type="text/javascript"language="javascript"src="../src/external.js"></script>

这是 external.js 的示例

function Initialize() {
    try {

        if (abc !== null) {

        }

        /*  if
         provide the call backs */
        abcd = new DEGD(
            a,
            b,
            c,
            d
        displayProgress('Initializing web socket...');
    } catch (e) {

        alert("Initialization Failed" + e);
    }
}

可以在chrome devtools中查看源码,查看external.js文件是否导入成功

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM