react-router-dom中defer导入失败报错,如何解决?
解决React Router DOM中'defer'导出不存在的报错
这个报错的核心原因很明确:defer是React Router v6.4及以上版本才新增的API,你当前安装的react-router-dom版本低于v6.4,所以模块里没有这个导出,单独导入也没用。
解决方法如下:
先检查当前版本
在项目根目录的终端执行命令,确认你安装的react-router-dom版本:npm list react-router-dom # 如果你用yarn,就执行: yarn list react-router-dom升级到支持
defer的版本
直接安装最新稳定版即可:npm install react-router-dom@latest # yarn用户执行: yarn add react-router-dom@latest验证修复效果
重启你的开发服务器,重新运行项目,这个导出不存在的报错应该就会消失。
如果暂时不想升级大版本,那只能放弃使用defer,改用其他方式处理异步数据(比如在loader中直接返回Promise,手动处理加载状态),但更推荐升级到v6.4+版本,因为这一版本引入的data router是React Router的核心功能更新,能更好地处理数据加载逻辑。
内容的提问来源于stack exchange,提问作者Лидия Бондарева
相关产品推荐
相关产品推荐

