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

Next.js 15 + React 19构建失败:Radix UI的useEffectEvent导入错误求助

解决Radix UI + Next.js构建时useEffectEvent导入错误

核心原因

useEffectEvent是React 18.2.0及以上版本新增的API,你的问题要么是项目React版本低于18.2.0,要么是Radix UI的子依赖版本过高,调用了当前React版本不支持的API。

解决办法

1. 升级React及React DOM到兼容版本

在项目根目录执行命令,将React升级到18.2.0及以上:

npm install react@^18.2.0 react-dom@^18.2.0 --save

完成后重新执行构建:

npm run build

2. 降级Radix UI相关依赖(无法升级React时)

如果暂时不能升级React,需要将Radix UI组件降级到不依赖useEffectEvent的版本:

  • 查找兼容版本:参考Radix UI版本变更日志,选择不依赖该API的稳定版本(比如@radix-ui/react-dropdown-menu@^2.0.0之前的版本)
  • 安装指定版本:
npm install @radix-ui/react-dropdown-menu@<兼容版本号> @radix-ui/react-roving-focus@<兼容版本号> --save

3. 清理重复依赖并统一版本

项目中出现子node_modules重复依赖的情况,可能是版本不一致导致的,执行以下步骤:

  1. 删除依赖文件:
rm -rf node_modules package-lock.json
  1. 添加版本锁定规则:在package.json中加入resolutions字段,强制统一子依赖版本:
"resolutions": {
  "@radix-ui/react-use-effect-event": "^1.0.0"
}
  1. 安装工具并重新拉取依赖:
npm install npm-force-resolutions --save-dev
npx npm-force-resolutions
npm install

4. 确认Next.js版本兼容性

你使用的Next.js 15.3.0要求React 18.2+,因此升级React到对应版本是最稳妥的适配方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:07:07