You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目npm run-script build后useMemo报Object(...)不是函数如何解决

报错修复方案

该错误本质是useMemo被解析为普通对象而非可执行函数,按以下步骤排查修复即可:

  • 校验React基础依赖版本
    执行npm list react react-dom检查两个包的版本是否都≥16.8.0(useMemo是React 16.8版本新增的Hook,低于该版本无法识别),如果版本不达标,执行npm install react@latest react-dom@latest升级稳定版后重新打包。
  • 检查useMemo导入语句是否正确
    确认代码顶部的导入写法为import { useMemo } from 'react',不要出现拼写错误、不要从react-dom或其他第三方包导入useMemo。
  • 清理重复React实例
    如果项目依赖嵌套安装了多个版本的React,会导致Hook导入异常,可执行npx dedupe react react-dom对依赖去重,使用yarn的项目可以在package.json中添加resolutions字段锁定React版本,处理完成后重新打包。
  • 检查Babel转译配置
    确认项目Babel配置中@babel/preset-react版本≥7.8.0,没有禁用React Hook相关转译规则。
  • 正确运行打包产物
    不要直接双击用file协议打开打包后的index.html,需要部署在静态服务下运行,本地可直接在项目根目录执行npx serve -s build启动本地静态服务访问打包产物,避免协议不兼容导致的资源加载错误。

内容的提问来源于stack exchange,提问作者marek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:45:04