一. 相似之处
- 它们都是前端优异的UI库
- 运用 Virtual DOM疾速衬着
- 供应了相应式 (Reactive) 和组件化 (Composable) 的视图组件。
- 都支撑服务端衬着
- 将注意力集合保持在中心库,而将其他功用如路由和全局状况治理交给相干的库。
二. 不同之处
- 机能方面
React 组件的状况有变化时,它会以该组件为根,从新衬着全部组件子树,须要运用PureComponent,或是完成shouldComponentUpdate(15)、getDerivedStateFromProps(16)要领举行优化
Vue 使得开发者不再须要斟酌此类优化,从而可以更好地专注于运用自身。
- 数据的可变性
React 它是函数式的头脑,把组件设想成纯组件,状况和逻辑经由过程参数传入,所以在react中,是单向数据流,推重连系immutable来完成数据不可变。在setState之后会从新走衬着的流程,假如shouldComponentUpdate(15)返回的是true或getDerivedStateFromProps(16)返回的不是null,就继承衬着,假如返回了false,就不会从新衬着,PureComponent就是重写了shouldComponentUpdate,然后在里面作了props和state的浅层对照
Vue 它是相应式的头脑,也就是基因而数据可变的,经由过程对每个属性竖立Watcher来监听,当属性变化的时刻,相应式的更新对应的假造dom
衬着体式格局
React 他的思绪是all in js,经由过程js来天生html,设想了jsx,经由过程js来操纵css Vue 供应了衬着函数,同时也支撑JSX,默许引荐的照样模板,任何符合范例的 HTML 都是正当的Vue模板
- 声明体式格局
React 是类式的写法,api较少
Vue 是声明式的写法,经由过程传入种种options,api和参数较多
- 扩大功用体式格局
React 经由过程高阶组件来扩大
Vue 经由过程Mixins来扩大