hello world欢迎来到前端的新世界
当前文章系列专栏:前端面试
博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)
感谢大家支持!您的观看就是作者创作的动力
vue
Vue的核心思想是尽可能的降低前端开发的门槛,是一个灵活易用的渐进式双向绑定的MVVM框架。
react
React的核心思想是声明式渲染和组件化、单向数据流,React既不属于MVC也不属于MVVM架构。
vue
react
diff算法
react
Virtual DOM:React 使用 Virtual DOM,即虚拟 DOM,通过比较新旧 Virtual DOM 的差异来减少实际 DOM 操作的次数,提高性能。
单向数据流:React 采用了单向数据流的思想,父组件向子组件传递数据通过 props,子组件要修改父组件的数据需要通过回调函数的方式来实现。
setState:React 组件中的状态通过 setState() 方法进行更新,setState() 会触发组件的重新渲染,在合并多个 setState() 调用时会进行批量处理,从而避免不必要的重渲染。
引用比较:React 的数据变化检测是基于引用比较的,即通过比较前后两次状态对象的引用是否相同来判断是否需要重新渲染组件。
Vue
双向绑定:Vue 支持双向数据绑定,可以通过 v-model 指令实现表单元素和数据模型的双向绑定。当数据发生变化时,视图会自动更新;当视图发生变化时,数据模型也会自动更新。
响应式对象:Vue 利用 Object.defineProperty() 方法来劫持对象的访问和修改,当访问或修改对象的属性时,会触发相应的 getter 和 setter,实现对数据的监听和响应。
依赖追踪:Vue 使用了依赖追踪的机制,它会在模板渲染过程中建立属性与 Watcher 之间的关联,当数据变化时,会通知相应的 Watcher 更新视图。
响应式数组:Vue 对数组的变化也进行了特殊处理,通过重写数组的一些方法(如 push、pop、splice 等),使得这些方法在执行时能够触发视图的更新。
封装程度,vue封装程度更高,内置多个指令和数据双向绑定,react封装度比较低,适合扩展。
创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力