javascript - ReactJS - 外部 JS 函数“不是函数”
问题描述
我正在尝试调用我的第 3 方要求我包含的外部 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。
我尝试将导入从正文移动到 HTML 头,反之亦然,但我仍然遇到的错误是:
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文件是否导入成功
推荐阅读
- python - 尝试手动复制 sqlite 行时出现无法识别的令牌错误
- android - 如何摆脱 Android-Kotlin 中的 `Unresolved reference: NavController` 错误?
- c++ - 如何 std::forward 类模板参数
- python-3.x - 使用 Pandas 或 PySpark 对多列进行分组并将行转换为列
- reporting-services - Is it possible to use a query with stored procedures inside if else statement as a Dataset in SSRS?
- amazon-web-services - alexa技能免费怎么赚钱,但亚马逊服务要收费?
- arrays - how bash shell script construct array element with space
- ansible - ansible脚本输入文件的最佳实践?
- business-objects - sap_bo 中的数字分组
- azure-data-factory-2 - 如何使用 azure 数据工厂 v2 从 csv 文件复制活动中设置列的空数据的默认值