以下是我个人在使用过程中的感受。

模块化

react的模块化使得组件化开发变得更加方便,可维护,使得代码复用性更强了,开发效率更高了。
使得人们写代码更加规范,可读性也大大提高,就算是刚入门的新手也可以写出规范的代码来。

虚拟DOM

react不直接对dom进行操作,而是创建了一个虚拟dom的概念,并且结合它优化过的diff算法,使得数据刷新的时候页面只进行最小的变化,因此大大提高了react的性能。react16将进行重构,在性能方面会有更大的提升。

跨浏览器兼容

react 0.14.8及以下版本兼容到ie8,并兼容所有的主流浏览器。

数据绑定

数据与视图进行了绑定,当数据变化的时候视图会自动进行变化,不用再进行操作。提高了开发效率。

服务端渲染

react自带服务端渲染的方法,对seo更有利。渲染时间更快快、页面响应速度更快。原因请参考:React服务端渲染总结。

社区活跃,生态完整

为什么有的语言明明很好,但用的人不多呢?为什么有的框架很好,但却无人问津?
其实语言、框架的生态是人们选择它的一个很重要的点。
react的社区非常活跃,github上的star数是目前主流的前端框架里最多的一个。这样人们对针对这个框架不断提出问题,不断进行优化。

为什么要选择react相关推荐

  1. [react] props.children.map和js的map有什么区别?为什么优先选择react的?

    [react] props.children.map和js的map有什么区别?为什么优先选择react的? React.Children.map 能够处理未知数据类型,即使 React.childre ...

  2. 为什么选择react?为前端开发选择React的六大理由

    有许多框架和库可用于前端开发.并非所有这些都是好的.React前端开发是最受欢迎且使用最广泛的库(它不是框架)之一.那么为什么选择react?使用React有什么好处?下面将为你提供6个选择 Reac ...

  3. 我从Angular 2转向Vue.js, 也没有选择React

    译者按: 通过使用Angular的经历,作者已经完全转为Vue粉了!我们Fundebug目前还是用AngularJS 1,坦白说,学习曲线蛮陡的. 原文: Why we moved from Angu ...

  4. 为什么我们从Angular 2迁移到Vue.js(为什么我们没有选择React)

    在Rever(www.reverscore.com),我们刚刚使用Vue.js发布了我们的Web客户端的新版本.经过641次提交和16周的紧张开发,我们非常自豪之前做出的决定. 8个月前,我们的前端在 ...

  5. vue:无法将“vue”识别为脚本_「前端架构」React和Vue -CTO的选择正确框架的指南...

    快速总结:为项目选择正确的javascript框架或库是CTO和项目经理的基本任务.然而,选择的范围很大程度上取决于几个因素,如项目时间.学习曲线.框架性能和团队规模.这篇文章旨在指导他们选择正确的j ...

  6. 「前端架构」React和Vue -CTO的选择正确框架的指南

    快速总结:为项目选择正确的javascript框架或库是CTO和项目经理的基本任务.然而,选择的范围很大程度上取决于几个因素,如项目时间.学习曲线.框架性能和团队规模.这篇文章旨在指导他们选择正确的j ...

  7. 如何命令行结束react程序_前端架构React和Vue CTO的选择正确框架的指南

    快速总结:为项目选择正确的javascript框架或库是CTO和项目经理的基本任务.然而,选择的范围很大程度上取决于几个因素,如项目时间.学习曲线.框架性能和团队规模.这篇文章旨在指导他们选择正确的j ...

  8. angular react_Angular 2 vs React:将会有鲜血

    angular react Angular 2 has reached Beta and appears poised to become the hot new framework of 2016. ...

  9. 手把手教你React(一)JSX与虚拟DOM

    初衷 学习React有一段时间了, 一直想找个时间写一个React的系列文章.忙里抽闲,完成了第一篇.写这系列文章的初衷是总结这段时间的技术学习,以及给那些想学习React的同学们一点帮助.我会尽量以 ...

最新文章

  1. C#结合js 上传文件和删除文件(技术点有:asp.net mvc ,nhibernate,ajax等)
  2. HDOJ HDU 2058 The sum problem ACM 2058 IN HDU
  3. c++ string 堆还是栈_5 个刁钻的 String 面试题!你都遇到过哪些?
  4. ui自动化测试框架_浅谈前端(UI)自动化测试
  5. “编程能力差,90%输在了数学上!”CTO:多数程序员都是瞎努力!
  6. 在命令行模式下管理SELinux
  7. 用linux集成电路版图设计,集成电路版图设计报告.doc
  8. 查找:对于长度为n的线性表最坏查找次数
  9. C++之强制转换const_cast、static_cast、dynamic_cast、reinterpret_cast 、dynamic_cast
  10. Docker Java程序镜像制作
  11. 给JDBC换个装——连接解耦
  12. 关于联想安装linux系统后无法扫描出wifi网络问题解决方案
  13. android:digits 代码设置,EditText中android:digits失效问题
  14. IOS开发学习笔记(一)——ObjectC语言快速入门
  15. label怎么换行 vb_VB中怎么换行 | 学步园
  16. 论文精读 清华ERNIE:Enhanced Language Representation with Informative Entities
  17. STM32F103与电脑端通信(使用NRF24L01)
  18. htc g13 ROOT后,RE浏览器还是不能获取ROOT权限的解决方法
  19. 硅谷送货机器人:脚下的路不好走
  20. 地图轨迹跟踪系统设计与实现(Android+Eclipse+APP)

热门文章

  1. 实现图像特效之浮雕与雕刻
  2. 计算机个人医院履职总结报告,医院统计个人工作总结范文
  3. Swift 4 新特性
  4. js时区时间转换格式:h5内转换含有T字母的8小时时区时间格式
  5. python编译 pyd 工具_avalon-fsn首页、文档和下载 - Python 编译构造工具 - OSCHINA - 中文开源技术交流社区...
  6. ftp服务器怎样删除文件夹,ftp服务器删除文件夹
  7. P5.js开发之——颜色及变化(5)
  8. AttributeError: module ‘ssl‘ has no attribute ‘SSLSocket‘或者OpenSSL SSL_read: Connection was rese
  9. 第四课,Extjs中面板的应用
  10. 汉中2021年高考成绩查询,汉中市各高中2020年高考喜报成绩一览