现在使用钩子进行反应时,使用TypeScript进行反应还是值得吗?

时间:2019-03-24 16:56:11

标签: reactjs typescript react-hooks

我和团队正在着手一个React项目。我们主要是一个Microsoft团队,他们对.Net都有数十年的经验!

React给我们留下了深刻的印象,感觉就像我们沿着那条路走了。我们已经完成了Angular,Vue和其他死亡选择。

由于我们都是C#开发人员,因此我们计划将React与TypeScript一起使用。主要有两个原因

  1. 我们习惯于使用C#编写的强类型代码库,因此我们在使用TypeScript进行React方面取得了更大的成功。

  2. 代码库可能会变得很大,我们计划通过内部NPM注册表在团队/项目之间共享React组件和TypeScript接口。我们认为TypeScript会及早强调输入问题,尤其是在重构时,并允许更有效地共享。

我已经与另一个类似规模的团队进行了交谈,他们没有从TypeScript(或Flow)入手,当他们的解决方案变大并在TypeScript中进行了改进时,他们遇到了重构问题。

因此,我想从第一天开始使用TypeScript

但是,我从更多面向Java的开发人员那里得到了一些回击。谁说:

  1. 现代ES6 JavaScript应用程序中不需要TypeScript

  2. 更广泛的React社区不使用TypeScript

  3. React的新钩子使

  4. 上的点更加复杂

我是否徘徊于宗教辩论而非技术性辩论(静态打字与动态辩论),还是有观点可辩护?

很高兴承认与我的C#经验相比,我是JavaScript新手,所以我可能会完全忘记这一点。

我想我应该向社区提出这个问题,并找出一些有教养的意见。请客气

1 个答案:

答案 0 :(得分:2)

  
      
  1. 现代ES6 JavaScript应用程序中不需要TypeScript
  2.   

这取决于要求。您说您期望重构,我在重构自己的javascript和TypeScript项目方面有一些经验。我可以说,没有TypeScript,重构会花费更多的精力-您必须仔细研究实现代码,才能理解接口是什么。可以通过大量的API文档和单元测试来缓解这种情况,但是-有多少项目拥有这些文档,以及有多少项目维护着API文档,以使其与实际代码100%匹配?类型注释是表达代码期望值的一种好方法,并且具有与代码一起维护的附带好处。

  
      
  1. 更广泛的React社区不使用TypeScript
  2.   

每个人都使用最能满足他们需求的东西。实际上,没有“社区”,只有一群人在从事不同的项目。最适合大多数人的东西可能对您来说不是最好的。

  
      
  1. React的新钩子使以上几点变得复杂
  2.   

recent version of typings for React does seem to support hooks。谷歌搜索“带有typescript的反应挂钩”的结果表明,很多人都在使用带有TypeScript的React挂钩。我不知道有任何具体问题,但是如果有任何问题,最终有可能将它们解决。