使用ReactJS的优点和缺点

问题描述:

我是使用React进行开发的新手。使用ReactJS的优点和缺点

有人可以列出使用ReactJS的优点和缺点。 在大型项目中使用此库时是否存在任何性能问题。使用反应过来

优点:

  • 容易知道一个组件是如何呈现的,你只要看看渲染功能。
  • JSX可以轻松读取组件的代码。它也很容易看到布局,或组件如何插入/组合在一起。
  • 您可以在服务器端渲染React。
  • 它很容易测试,你也可以集成一些工具,如笑话。
  • 它确保可读性,并使维护更容易。
  • 你可以使用React与任何框架(Backbone.js,Angular.js),因为它只是一个视图层。

React有什么不好?

  • 它只是一个视图层,您仍然需要为Ajax请求,事件等插入代码。有些人为此感到惊讶。
  • 这个库本身非常大。
  • 学习曲线可能很陡峭。

如果反应本来就是如何描述的,反应会变得更大。

性能方面,它非常好,因为它依靠虚拟环境来了解UI中真正发生了什么变化,并且只会重新渲染真正改变的内容。它确实有很大的,稍有变化的儿童名单(2000 <li>测试)的麻烦,但可以简单地进行优化。

如果您不确定,请考虑使用React的大项目: instagram,hipchat,facebook chat等。

一些资源:

而且可能是我最喜欢的博客文章的一个Why React is awesome?

+1

我想一些评论添加到您的答案我相信这是谨慎的指出。首先,React并不带有Jest,Jest可以用来测试React组件,但不是必需的。其次,React从来没有打算成为除了视图层之外的其他任何东西,而不应该被视为它。 React提升可组合性,而不是锁定框架能力。 – 2015-02-11 08:07:45

+1

你说得对,当我写下我的第一个答案时,我很匆忙。我编辑了答案来添加你的观点。我仍然认为“这是一个视图层”应该是有利的,因为很多人都对此感到惊讶。 – 2015-02-11 15:09:42

+0

我添加了一个关于经常表现明智的东西的笔记。在很少或没有任何变化的情况下对大量儿童进行分类可能会导致大量浪费的CPU周期。人们似乎认为这很快,因为“反应很快”。 – FakeRainBrigand 2015-02-11 16:23:13