1.数据是不是可变的

react整体是 函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是 单向数据流,推崇结合immutable来实现 数据不可变。 react在setState之后会重新走渲染的流程,如果 shouldComponentUpdate返回的是true,就继续渲染,如果返回了false,就不会重新渲染, PureComponent就是重写了shouldComponentUpdate,然后在里面作了 props和state的浅层对比

而vue的 思想是响应式的,也就是基于是 数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候, 响应式的更新对应的虚拟dom  

2.通过js来操作一切,还是用各自的处理方式

react的思路是all in js,通过js来生成html,所以设计了jsx,还有通过js来操作css,社区的styled-component、jss等,

vue是把html,css,js组合到一起,用各自的处理方式,vue有单文件组件,可以把html、css、js写到一个文件中,html提供了模板引擎来处理。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

3.类式的组件写法,还是声明式的写法

react是类式的写法,api很少,

而vue是声明式的写法,通过传入各种options,api和参数都很多。所以react结合typescript更容易一起写,vue稍微复杂。

4.什么功能内置,什么交给社区去做

react做的事情很少,很多都交给社区去做

vue很多东西都是内置的,写起来确实方便一些,


比如 redux的combineReducer就对应vuex的modules,
比如reselect就对应vuex的getter和vue组件的computed,
vuex的mutation是直接改变的原始数据,而redux的reducer是返回一个全新的state,所以redux结合immutable来优化性能,vue不需要。



作者:凌霄光
链接:https://www.jianshu.com/p/b7cd52868e95
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄