vue
API设计上简单,语法简单,学习成本低
更快的渲染速度和更小的体积
react
React的渲染系统可配置性更强,并包含如shallow rendering这样的特性,可结合React的测试工具一起使用,从而大为提高代码的可测试性及可维护性。
-
更适用于大型应用和更好的可测试性
-
同时适用于Web端和原生App
-
更大的生态圈带来的更多支持和工具
区别
vue:渲染过程中是跟踪每一个组件的依赖,即更改了哪个组件渲染哪个。
react:会重新渲染全部子组件。
vue:利用数据双向绑定,模板式开发。 (模板能更好地把功能和布局分割开来)
react:React应用则与之相反,不使用模板,而是要求开发者借助JSX在JavaScript中创建DOM。
vue:Vue中的数据是可变的(mutated),改变数据,页面就会重新渲染更新。(Vue中改变状态的操作不仅更加简洁,而且它的重新渲染系统实际上比React的更快更高效。)
react:React里的状态(state)是不可变(immutable)的,因此你不能直接地改变它,而是要用setState
共同点
React和Vue都会构建一个虚拟DOM并同步到真实DOM中,实现快速渲染
-
轻量级
-
响应式组件
-
服务器端渲染
-
易于集成路由工具,打包工具以及状态管理工具
-
优秀的支持和社区