vue 和react的区别与联系原理
同:
1、都支持服务端渲染
2、都使用虚拟dom来实现
3、都有virtual dom组件化开发,通过props参数进行组件数据的传递,都实现webComponent规范
4、只有框架的骨架,其他的功能如路由,状态管理等都是框架分离的组件
5、都是JavaScript的ui框架,数据驱动视图,专注于创造前端的富应用
6、都支持native的方案,react的react native,vue的weex
7、都有状态管理,react有redux,vue有vuex
不同:
1、react严格上只针对mvc的view层,vue是mvvm模式
2、virtual dom不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树
3、对于react而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react需要shouldComponentUpdate这个生命周期函数来进行控制
4、组件写发布一样,react推荐的写法是jsx + inline style,就是html和css全部写进JavaScript
5、vue推荐的写法是webpack + vue-loader 的单文件格式,即html,css,js写在同一个文件
6、数据绑定: vue实现了数据的双向数据绑定,react数据流动是单向的
7、state对象在react应用不可变,需要使用setState方法更新状态
8、在vue中,state对象不是必须的,数据由data属性在vue中管理
性能比较:
react 重新渲染整个组件树,vue会跟踪依赖关系来更新;
优缺点:
vue: 更小,更快,更灵活
react: 需要构建移动应用程序,专业和出色的社区支持,以解决任何问题,需要构建大型应用程序,轻量级,易于版本迁移