react 和 vue 的优缺点总结
React推广了Virtual DOM并创造了新的语法——JSX,JSX允许开发者在JavaScript中书写HTML
Vue使用模板系统而不是JSX,但能对现有应用的升级更加容易,这是因为模板用的就是普通的HTML。
Virtual DOM是一个映射真实DOM的JavaScript对象,如果需要改变任何元素的状态,那么是先在Virtual DOM上进行改变,而不是直接改变真实的DOM。当有变化产生时,一个新的Virtual DOM对象会被创建并计算新旧Virtual DOM之间的差别。之后这些差别会应用在真实的DOM上。
Vue宣称可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。
而对于React而言,每当应用的状态被改变时,全部子组件都会重新渲染。当然,这可以通过shouldComponentUpdate
这个生命周期方法来进行控制,但Vue将此视为默认的优化。
Vue鼓励你去写近似常规HTML的模板。写起来很接近标准HTML元素,只是多了一些属性。React推荐你所有的模板通用JavaScript的语法扩展——JSX书写
React/JSX乍看之下,觉得非常啰嗦,但使用JavaScript而不是模板来开发,赋予了开发者许多编程能力。
Vue的模板语法去除了往视图/组件中添加逻辑的操作,值得一提的是,与React一样,Vue在技术上也支持render函数和JSX,但只是不是默认的而已。