react native 可以使用typescript开发吗
1个回答
2016-09-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
最近在公司正在用 Spacemacs + TypeScript 写 React Native。总体来讲依靠各种补全和纠错,效率还是比不用
TypeScript 高的。不过 DefinitelyTyped 的 react-native.d.ts 一定是不够新的, 比如想用 React
Native 0.21 刚出的 NavigatorExperimental 的话就得自己写 type definition。好在
TypeScript 1.8 允许我们扩展别人的 module definition,一部分的类型还是可以自己修补修补的。很多 React
Native 的 third party library 都是没人写过 type definition 的,那也得自己写。
TypeScript 的编译速度还不错,tsc + babel 双层编译下 live reload 的速度还是可以接受的。
一个问题是 React Native packager 不直接支持 third party 的 source map,这意味着 backtrace 对应的是 tsc 编译好的 ES6 文件,debug 起来不够方便。
TypeScript 不知道 React Native 里面是用 require 来引用图片资源的,这个也有点 hacky。
说一个跟 React Native 无关的:TypeScript 非常依赖于 type annotation,几乎没有 bidirectional typechecking,更不用说 whole program type inference 了。相比之下 flow 的 inference 还是要强大一些。当然了,JS 里面各种 implicit union type 还有 subtyping,我想也是没办法 infer 的。
TypeScript 高的。不过 DefinitelyTyped 的 react-native.d.ts 一定是不够新的, 比如想用 React
Native 0.21 刚出的 NavigatorExperimental 的话就得自己写 type definition。好在
TypeScript 1.8 允许我们扩展别人的 module definition,一部分的类型还是可以自己修补修补的。很多 React
Native 的 third party library 都是没人写过 type definition 的,那也得自己写。
TypeScript 的编译速度还不错,tsc + babel 双层编译下 live reload 的速度还是可以接受的。
一个问题是 React Native packager 不直接支持 third party 的 source map,这意味着 backtrace 对应的是 tsc 编译好的 ES6 文件,debug 起来不够方便。
TypeScript 不知道 React Native 里面是用 require 来引用图片资源的,这个也有点 hacky。
说一个跟 React Native 无关的:TypeScript 非常依赖于 type annotation,几乎没有 bidirectional typechecking,更不用说 whole program type inference 了。相比之下 flow 的 inference 还是要强大一些。当然了,JS 里面各种 implicit union type 还有 subtyping,我想也是没办法 infer 的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询