安装react-router-dom后出现Invalid hook call报错如何解决
修复方案
你已经确认没有违反Hook使用规则,且package.json内React与React DOM版本一致,当前报错的核心原因是安装的react-router-dom版本与你使用的React 17.0.2不兼容,或是安装后出现了多份React副本冲突,按以下步骤操作即可解决问题:
- 首先卸载已安装的react-router-dom,同时删除项目根目录下的node_modules文件夹、package-lock.json文件
- 执行命令安装适配React 17版本的react-router-dom:
npm install react-router-dom@6.2.2,更高版本的react-router-dom默认依赖React 18,会触发版本冲突导致Hook调用报错 - 重新执行
npm install安装所有依赖,之后执行npm start启动项目即可 - 如果操作后仍有报错,可手动执行
npx npm-force-resolutions强制锁定React版本为你配置的17.0.2,再重新启动项目
内容的提问来源于stack exchange,提问作者mariela magallon
相关产品推荐
相关产品推荐

