React和Vue的区别
React和 Vue 作为现代流行前端框架,都是采用 虚拟DOM的形式,让开发者专注在设计应用层面而无需关注DOM细节。不同之处在于Vue组件采用(template)的方式来编写。而React采用 jsx语法糖
学习曲线
1.Vue相对React来说,学习曲线平缓,开箱即用。生态比较完善。
2.React拥有自己的概念和思想。需要了解jsx相关的知识。组件中的一切都可以通过 JavaScript来控制。上手成本相对较高。并且需要有一定原生JavaScript的基础
JSX和模板语法
1.Vue默认使用基于HTML的模板语法。将模板、样式、和数据逻辑划分出来。使得开发过程中能够注重分离解耦。在Vue中也可以通过Babel插件 @vue/babel-plugin-jsx,
来支持 jsx的语法。
模板语法与 JSX 对比
1.jsx 写起来相对来说较繁琐。需要有前置的js基础。逻辑层面无需引入额外的概念。
2.Vue在拆分单组件模板时。需要额外新建组件。而React组件可以作为变量临时存放在当前文件之中。
核心概念的区别
1.Vue数据改动是自动更新的, Vue2使用 defineProperty
来监听页面数据的改动, Vue3 通过 Proxy 来劫持 state 中各个属性的 setter、getter,通过 getter 收集依赖。可以做到数据被修改时,精准的更新对应的视图(推模型)
2.React的数据改动,我们需要通过手动调用 setState
来更新界面, 函数式组件中使用 useState
。React推崇函数式组件。当页面数据被修改,默认会使用浅比较来对比差异。根据结果来确认是否更新视图。(拉模型)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!