安装material-ui@next遇TS2315错误:Type 'ReactType'非泛型
搞定material-ui@next安装后的TS2315错误:Type 'ReactType' is not generic
嘿,我之前也踩过这个坑!这个错误本质是@types/react的类型定义和你安装的material-ui@next版本不兼容——material-ui的类型文件里用到了泛型版本的ReactType,但你本地的@types/react版本太老,这个类型还不支持泛型写法。
给你几个一步步解决的办法:
先升级@types/react到兼容版本
旧版的@types/react(比如16.7及更早版本)里ReactType不是泛型类型,直接升级到最新稳定版就能解决这个问题,执行命令:npm install @types/react@latest --save-dev # 用yarn的话换成这个 yarn add @types/react@latest --dev同步@types/react-dom的版本
别漏了把@types/react-dom也升级到和@types/react一致的版本,避免出现其他类型不匹配的问题:npm install @types/react-dom@latest --save-dev # yarn版本命令 yarn add @types/react-dom@latest --dev清理缓存并重装依赖
有时候node_modules或者缓存里的旧文件会搞事情,直接清干净重来更稳妥:# 清理npm缓存 npm cache clean --force # 删除旧依赖包和锁文件 rm -rf node_modules package-lock.json # 重新安装所有依赖 npm install # 最后重启webpack编译服务 npm start如果还不行,升级material-ui@next本身
要是上面几步都没解决问题,可能是你安装的material-ui@next版本太老,试试升级到最新的beta版本:npm install material-ui@next --save # yarn版本命令 yarn add material-ui@next
最后可以检查下你的tsconfig.json配置,确保compilerOptions里的lib包含dom和至少es2015版本,比如:
{ "compilerOptions": { "lib": ["dom", "es2017"], "jsx": "react", "strict": true } }
内容的提问来源于stack exchange,提问作者Gerard López Sorribas
相关产品推荐
相关产品推荐

