react和vue的区别
相同点:
- 都支持服务端渲染
- 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponents规范
- 数据驱动视图
- 都有支持native的方案,React的React native,Vue的weex
不同点:
- React严格上只针对MVC的view层,Vue则是MVVM模式
- virtual DOM 不一样 vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。而对于React而言,每当应用的状态被改变时,全部子组件都会重新渲染。当然,这可以通过shouldComponentUpdate这个生命周期方法来进行控制,
- 组件写法不一样
React 推荐的做法是 JSX + inline style,也就是把 HTML 和 CSS 全都写进 JavaScript 了,即”all in js”
Vue 推荐的是使用
webpack + vue-loader
的单文件组件格式,即html,css,js写在同一个文件; - 数据绑定:Vue有实现了双向数据绑定,React数据流动是单向的
- state对象在react应用中是不可变的,需要使用setState方法更新状态;在Vue中,state对象并不是必须的,数据由data属性在Vue对象中进行管理。