湛江专业自助建站详情,酒店网站建设考虑的因素,站内免费推广,百度极速版免费下载一、核心思想不同 Vue的核心思想是尽可能的降低前端开发的门槛#xff0c;是一个灵活易用的渐进式双向绑定的MVVM框架。
React的核心思想是声明式渲染和组件化、单向数据流#xff0c;React既不属于MVC也不属于MVVM架构。
如何理解React的单向数据流#xff1f; React的单…一、核心思想不同 Vue的核心思想是尽可能的降低前端开发的门槛是一个灵活易用的渐进式双向绑定的MVVM框架。
React的核心思想是声明式渲染和组件化、单向数据流React既不属于MVC也不属于MVVM架构。
如何理解React的单向数据流 React的单向数据流指的是数据主要从父节点通过props传递到子节点如果顶层某个props改变了React会重新渲染所有的子节点但是单向数据流并非单向绑定React想要从一个组件去更新另一个组件的状态需要进行状态提升即将状态提升到他们最近的祖先组件中触发父组件的状态变更从而影响另一个组件的显示。单向数据流的好处是能够保证状态改变的可追溯性假如父组件维护了一个状态子组件如果能够随意更改父组件的状态那么各组件的状态改变就会变得难以追溯。
二、组件写法上不同
Vue的组件写法是通过template的单文件组件格式。
React的组件写法是JSXinline style也就是吧HTML和CSS全部写进JavaScript中。all in js
三、Diff算法不同 vue对比节点如果节点元素类型相同但是className不同认为是不同类型的元素会进行删除重建但是react则会认为是同类型的节点只会修改节点属性。
vue的列表比对采用的是首尾指针法而react采用的是从左到右依次比对的方式当一个集合只是把最后一个节点移动到了第一个react会把前面的节点依次移动而vue只会把最后一个节点移动到最后一个从这点上来说vue的对比方式更加高效。
四、响应式原理不同
React主要是通过setState()方法来更新状态状态更新之后组件也会重新渲染。 注setState时设置的新对象会和旧对象进行混合
vue会遍历data数据对象使用Object.definedProperty()将每个属性都转换为getter和setter每个Vue组件实例都有一个对应的watcher实例在组件初次渲染的时候会记录组件用到了那些数据当数据发生改变的时候会触发setter方法并通知所有依赖这个数据的watcher实例调用update方法去触发组件的compile渲染方法进行渲染数据。