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

React v17使用konva/react-konva绘制多边形标注时出现useId错误

解决React v17中使用react-konva出现TypeError: react__WEBPACK_IMPORTED_MODULE_0__.useId的问题

这个错误确实是因为你的React版本(v17.0.2)过旧导致的。useId()是React 18才正式引入的内置钩子,你当前使用的react-konva版本已经依赖了这个钩子,所以在React 17环境下运行会触发该错误。

以下是两种可行的解决方案:

  • 升级React到18版本
    执行以下命令完成升级:

    npm install react@^18 react-dom@^18
    

    升级后需要检查项目中其他第三方依赖是否兼容React 18,部分老旧库可能需要同步更新版本。

  • 降级react-konva到兼容React 17的版本
    选择未引入useId()依赖的react-konva版本,比如react-konva@^18.2.1(该版本兼容React 17),执行以下命令安装:

    npm install react-konva@^18.2.1 konva@^8.4.0
    

    此方案无需升级React,即可继续实现多边形边界标注功能。

你在codesandbox中使用最新包能正常运行,是因为codesandbox默认使用了React 18版本,刚好满足react-konva对useId()的依赖要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:18:13