使用.js
还是.jsx
React项目中,对于包含了JSX的文件,我们我们可以使用.js
的后缀。那.jsx
用来做什么呢?关于这一点,airbnb 和 facebook 的团队,有不同看法。总结下来就是:
airbnb的团队认为(参考阅读):
JSX是非标准的JavaScript语法,因此包含JSX就应该使用
.jsx
后缀。
facebook的团队认为(参考阅读):
开发者其实不关心文件后缀,那是Babel这样的转译器关注的,如果每一种语法类型都需要增加一种文件后缀,将会有多种多样的文件后缀。JSX作为JavaScript的超级,只要编辑器能够支持JSX语法即可。
使用.ts
还是.tsx
尝试在React项目中加入TypeScript发现想要在 .ts
中应用JSX就行不通了,编辑器并不能识别JSX的语法。
这是因为(参考阅读):
TypeScript的显示类型转换(例如:let p =
{} )和 JSX的语法会导致编辑器无法识别。 因此需要将有JSX语法的代码存放在
.tsx
后缀的文件中,仅包含普通TypeScript的代码放在.ts
中。