vue和react之间的共同点以及不同点
vue和react之间的共同点以及不同点
共同点:
都是组件化框架、都是数据驱动视图、组件通信方式大致相同(父子、非父子、跨组件传参、状态共享)、都有自己的单页面应用路由工具,都遵循单向数据流,组件数据也是分为属性和状态,都有虚拟dom机制。
不同点:
vue是一个MVVM完整架构框架,每一个组件实例都是一个ViewModel,组件实例也拥有着自己的响应式的状态及生命周期触发机制,当数据更新的时候会与视图进行通信。
而React只是一个视图层框架,只执行了视图层面的一些逻辑实现(条件、循环),属性与状态没有响应式机制,属性与状态更新需要通知react进行视图更新。
vue拥有指令系统,可以方便、快捷的对DOM进行操控,React拥抱JS,绝大部分的逻辑开发都要通过JS来实现。
React使用JSX来构建组件DOM结构,Vuex采用模板的实现来构建(React和Vue都可以通过createElement方法来构建DOM结构)
DIFF算法略有不同,React的fiber算法是切片异步对比,减少阻塞的可能性。
vue-router采用集中式路由配置,并且实现了大量的路由守卫Api,react-router在V6版本中又开始·允许集中配置,V4、V5一直推荐路由分离配置,用Route来表现路由,只有history.listen可以做路由监听(V6中消失),其他的时候只能在组件中监听路由属性变化来表现路由守卫。
逻辑复用实现方式也不一样,vue采用自定义指令、mixin(2.0)、组合式函数(3.0)来实现逻辑复用。React利用高阶组件(HOC)、自定义Hook、无渲染组件来实现逻辑复用。
相关推荐HOT
更多>>布局之浮动基础方法
再次回归到原始效果,先来看一下容器浮动以后的特点:给一号容器添加浮动,你会发现二号容器进行了补位。现在,实现让这些 li 容器横向排列,只...详情>>
2023-02-20 17:42:13css布局之定位方法
position 属性指定了一个元素定位方式,它有五个不同的类型值:static 静态定位,relative 相对定位,fixed 固定定位,absolute 绝对定位,stic...详情>>
2023-02-20 17:41:02必考两种盒模型说下理解
CSS 盒模型本质上是一个盒子,盒子包裹着HTML 元素,盒子由四个属性组成,从内到外分别是:content 内容、padding 内填充、border 边框、外边距...详情>>
2023-02-17 17:40:16SPA首屏加载速度慢的问题?
在服务器我们也要做相应的配置 如果发送请求的浏览器支持gzip,就发送给它gzip格式的文件 我的服务器是用express框架搭建的 只要安装一下compre...详情>>
2023-02-15 18:06:22