百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#19625·Font-Awesome

错误: 缺少 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

□ 错误复制示例:

  1. 下载[Firefox 47.0.2(https://ftp.mozilla.org/pub/firefox/releases/47.0.2/win32/pt-BR/Firefox%20Setup%2047.0.2.exe);
  2. 清除以下储存库:vite-react-legacy并开放项目;
  3. 使用命令线安装依赖关系;
  4. 利用命令线构建项目;
  5. 使用命令线预览预览项目;
  6. 在Firefox 47中打开工程,您可以看到控制台的错误;
  7. 回到项目中打开文件 dist\assets\fontawesome-svg-core-legacy-{some 随机标识}.js;
  8. 在998号线上增加阵列验证:1:
如果(Array.isArray ( hoks[hook])){
 呼 [hook].push (呼 [hook]) ;
* ;
  1. 再次运行命令线条预览并查看工程是否工作.
  • 可复制的试验案例

https://GitHub.com/uisam00/vite-react-legacy (英语).

QQ 屏幕截图

这是错误 :

image.

当我把校验放入已建文件时


如果( 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

查看 GitHub 原文在 GitHub 查看讨论