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、无渲染组件来实现逻辑复用。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱