React Native默认使用JavaScript还是TypeScript?新建项目代码类型疑问
关于React Native默认语言及你看到的代码类型的解答
嘿,作为React Native新手完全不用不好意思,我刚入门的时候也对这些文件类型的细节懵过😉 咱们一步步理清楚你的问题:
1. React Native项目默认使用JavaScript还是TypeScript?
- 目前React Native(0.60版本之后)的默认初始化项目是纯JavaScript项目,但官方会自动帮你配置好TypeScript的支持环境——意思是你不用额外折腾配置,就能随时在项目里新增
.ts/.tsx的TypeScript文件,无缝混用两种语言。 - 如果想直接创建纯TypeScript项目,初始化时需要加模板参数:
npx react-native init MyProject --template react-native-template-typescript
2. 你看到的.js文件里有类似TypeScript的关键词,到底是JS还是TS?
这是最容易混淆的点,我来拆解清楚:
- 后缀为
.js的文件本质还是JavaScript,但React Native默认开启了「在JS文件中支持类型标注」的特性——这些看起来像TS的语法,其实是JSDoc类型注解或者TypeScript兼容的JS类型语法,不是真正的TypeScript代码。 - 举个例子,你可能在默认的
App.js里看到@flow strict-local这样的注释,这是Flow(Facebook早期的类型检查工具)的注解,现在RN默认同时支持Flow和TS的类型检查;还有可能看到类似/** @type {string} */这样的JSDoc标注,或者变量后面的: number类型提示,这些都是编辑器(比如VS Code)能识别的类型语法,但运行时依然是按JavaScript来解析执行的。 - 简单说:这些
.js文件是带类型提示的JavaScript,不是TypeScript——真正的TS文件后缀是.ts或.tsx。
如果实在不想看到这些类型相关的内容,你可以修改项目根目录的tsconfig.json,把allowJs字段设为false来关闭JS文件的类型检查,但新手阶段我不建议这么做,毕竟类型提示能帮你提前发现很多潜在的bug~
内容的提问来源于stack exchange,提问作者SamyCode
相关产品推荐
相关产品推荐

