错误: 缺少 Array.isArray() 验证
作者: uisam00创建于 2023年3月22日更新于 2026年9月14日
标签waiting for feedback
□ 错误描述
使用@fortawesome/fontawesome-svg-core 和 @fortawesome/react-fontawesome 库, 然而,我遇到了以下错误:"未处理的许诺拒绝类型Error: hooks[hook].push不是一个函数".
在调试这个问题时,我追溯到试图使用 Array.push()而不验证对象是否实际上是一个阵列。 这个问题让我的应用程序在尝试在更老的浏览器运行时崩溃.
问题代码块如下:
如果( plugin. hooks) { ,则
var 钩子 = 插件. hooks ();
对象. keys (hooks). forEach (函数 (hook) {
如果 (! 呼出 [呼出]) {
呼 [呼] = [;];
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
呼 [hook].push (呼 [hook]) ;
* ;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
解决办法可以是增加验证:
如果(Array.isArray ( hoks[hook])){
呼 [hook].push (呼 [hook]) ;
* ;
在以下文件中:
js/all.js, 第4070:1号线
js- packages@fortawesome\fontawesome-free\js\fontawesome.js, 第1237:1行
js- packages@ fortawesome\fontawesome-free\js\all.js, 第4070: 1行
js- packages@fortawesome\fontawesome-free\js\fontawesome.js, 第1237:1行
js- packages @ fortawesome\fontawesome-svg-core\index.js, 第1237:1行
js- packages@fortawesome\fontawesome-svg-core\index.mjs, 第1216:1行
js- packages@fortawesome\fontawesome-svg-core\plugins.mjs, 第266行: 1
□ 错误复制示例:
- 下载[Firefox 47.0.2(https://ftp.mozilla.org/pub/firefox/releases/47.0.2/win32/pt-BR/Firefox%20Setup%2047.0.2.exe);
- 清除以下储存库:vite-react-legacy并开放项目;
- 使用命令线安装依赖关系;
- 利用命令线构建项目;
- 使用命令线预览预览项目;
- 在Firefox 47中打开工程,您可以看到控制台的错误;
- 回到项目中打开文件 dist\assets\fontawesome-svg-core-legacy-{some 随机标识}.js;
- 在998号线上增加阵列验证:1:
如果(Array.isArray ( hoks[hook])){
呼 [hook].push (呼 [hook]) ;
* ;
- 再次运行命令线条预览并查看工程是否工作.
- 可复制的试验案例
https://GitHub.com/uisam00/vite-react-legacy (英语).
QQ 屏幕截图
这是错误 :
当我把校验放入已建文件时
如果( plugin. hooks) { ,则
var 钩子 = 插件. hooks ();
对象. keys (hooks). forEach (函数 (hook) {
如果 (! 呼出 [呼出]) {
呼 [呼] = [;];
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
如果(Array.isArray ( hoks[hook])){
呼 [hook].push (呼 [hook]) ;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
* ;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
错误消失 :
.
QQ 字体优异版本
6.3.0 (单位:千美元)
服务
自办
执行
SVG+JS 组合
QQ 浏览器和 . . . . . . .
内容来源: FortAwesome/Font-Awesome