未用TypeScript的Expo SDK44项目遇react-native声明文件缺失警告
解决非TypeScript的Expo SDK44 React Native项目中react-native API自动补全失效及类型警告问题
问题本质
虽然你的项目没用到TypeScript,但VS Code这类现代编辑器默认会用TypeScript语言服务为JavaScript文件提供智能提示和类型校验。当编辑器找不到react-native的类型声明文件时,就会弹出类型警告,同时自动补全功能失效。
解决方案
方案1:安装对应版本的@types/react-native(推荐)
Expo SDK44对应的React Native版本是0.64.x,安装匹配版本的类型包可避免兼容性问题:
npm install --save-dev @types/react-native@0.64.x
安装完成后重启编辑器,自动补全功能会恢复,类型警告也会消失。
方案2:添加自定义声明文件
如果不想安装类型包,可手动创建声明文件让编辑器识别:
- 在项目根目录新建
typings文件夹 - 在该文件夹下创建
react-native.d.ts文件,写入以下内容:
declare module 'react-native';
- 项目根目录如果没有
jsconfig.json,就新建一个,添加配置让编辑器识别自定义类型:
{ "compilerOptions": { "typeRoots": ["./typings"] }, "exclude": ["node_modules"] }
保存后重启编辑器即可解决问题。
方案3:关闭编辑器的JavaScript类型检查(不推荐)
这个方法会关闭JS文件的类型校验,虽能消除警告,但会丢失其他智能提示能力:
- 以VS Code为例,打开设置(快捷键
Ctrl+,),搜索javascript.implicitProjectConfig.checkJs,将该选项关闭。
内容的提问来源于stack exchange,提问作者Kcyr
相关产品推荐
相关产品推荐

