开始使用 React.js
解决现实世界的问题✅
就业市场💼
“那家公司”🏢
生态系统和社区👥
性能📈
#使用平台…我经历过,也做过🤦♂️
结论
这篇文章是对上周引起一些关注的文章“停止使用 React”的回应。
我觉得这篇文章有点误导,因为它列出了问题,但没有真正的解决方案或替代方案。
我不想关注消极的一面,而是想关注争论的另一面以及使用 React 所获得的好处。
解决现实世界的问题✅
说实话,如果您只是想在屏幕上打印“Hello World”或有一个单页 CSS 作品集,那么您可能不需要额外的 JavaScript。
但让我们回到现实世界,公司解决的问题更复杂,需要的解决方案也更复杂。
如果您愿意花费数月的时间重新创建 React 及其生态系统所提供的开箱即用功能,只是为了获得几秒钟的性能提升,那么请随意。
就业市场💼
当我最终决定学习 React 后,我花了大约 4-6 个月的时间才找到工作。要求或推荐中含有 React 的职位比比皆是,这当然是有原因的。
我认为公司使用更主流的技术是更明智的做法,这样公司招聘新开发人员的入职流程就不会比现在更麻烦。
很难找到符合您的文化和技术需求的优秀开发人员,因此拥有更大的搜索范围显然会使这个过程变得更加简单。
“那家公司”🏢
虽然我并不总是同意“公司”本身的行为,但我发现 React 核心团队是一群伟大的人,他们热衷于保持库及其生态系统的伟大。
这些“公司”持续不断地提供优秀的免费开源技术供他人使用。没错,这意味着有时你可能会被供应商锁定,但这是你的选择。
在我看来,其收益远远大于成本。
生态系统和社区👥
试图理解 React 生态系统到底有多庞大是令人难以想象的。
使用 React 开发时,我从未感到卡壳。遇到问题时,十有八九都能找到一个维护良好的外部库来解决。
我在这里有一篇文章讨论了它的一些优点和缺点,所以我就不在这里列出了。
TLDR:选择维护良好且得到社区支持的外部库。
性能📈
在您的项目中添加 React 或任何其他主要 JS 框架都会带来性能成本,这不是什么秘密。
特别是如果你展示一个臃肿的 create-react-app 的统计数据,其中不包含代码拆分和其他性能增强,那么性能指标可能会很糟糕。
有多种方法不仅可以改善这些性能指标,还可以为用户提供视觉效果,以占用他们的时间,直到屏幕可交互。
人们很容易忘记 React 是为世界上访问量最大的一些网站而构建并使用的。
让我们考虑一下数百个主要用例,例如 Facebook、Uber、Netflix、Instagram、Salesforce、Medium、Reddit 以及更多每天向数百万用户提供 React 的公司。
你觉得这些公司没想过这些指标吗?如果性能这么差,他们为什么还要用它?所以,想想看,影响性能的不是 React 本身,而是开发者如何实现它。
#使用平台…我经历过,也做过🤦♂️
我曾经站在另一边,我是#UseThePlatform 的坚定倡导者,并且不需要来自 JS 框架的所有额外臃肿的 JS。
你用过Polymer.js吗?可能没有。我承认我热爱这项技术以及它所源于的理念。我敬佩那些对它充满热情并在 Google 内部使用它的人。
虽然它曾被大肆宣传,初期也获得不少支持,但最终却未能真正落地。它远不及其他一些流行 JS 库所能提供的外部功能和社区支持。
我经常发现自己在开发过程中陷入寻找答案的困境,这最终让我找到了 React。
我现在有 2 年以上的 React 专业经验,并且从此不再回头。
结论
以上是我对使用 React 的总体优势的看法。虽然这篇文章主要是为了回应反对意见,但 React 还有许多其他优势(例如开发者体验、JavaScript 的使用等等)。
话虽如此,其中一些好处也可以直接应用于其他一些主要的 JavaScript 库/框架,而并不仅限于 React。
与往常一样,如果您喜欢这篇文章,请在 DEV 和 Twitter 上关注我。
鏂囩珷鏉ユ簮锛�https://dev.to/michaelgee/start-using-react-js-cnn