1 回答
TA贡献1810条经验 获得超4个赞
最近在公司正在用 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 的。
- 1 回答
- 0 关注
- 1146 浏览
添加回答
举报