React和Vue的异同

  1. React 是一个库,而 Vue 是一个框架
    React 允许 DOM 操作、组件架构和状态管理;Vue 附带了许多语法糖、插件系统、内置指令、转换等
  2. 生命周期
    react 生命周期:React 整体是函数式的思想,在 React 中是单向数据流
    在这里插入图片描述
    vue 生命周期:Vue 的思想是响应式的,也就是基于是数据可变的

在这里插入图片描述

  1. 重新渲染的机制:
    React 提倡函数式编程。它实现了函数式编程原则,例如高阶函数、不变性、纯函数等。React 背后的理念是状态保持不变。当试图改变状态对象时,不会发生重新渲染。为了触发重新渲染,应该使用setState方法。这不仅会更新根组件,还会重新渲染整个组件子树。可以使用 PureComponentshouldComponentUpdate生命周期hook来控制重新渲染过程。
    在 Vue 中,状态在data对象中表示。与 React 不同的是,状态对象的变化会触发重新渲染。在某些情况下,改变嵌套对象或数组可能不会触发重新渲染。在这种情况下,我们要么使用 Vue.set 方法(类似于 React 中的 setState 方法),要么使用Object.assign或 ES6 扩展运算符以不可变的方式进行更改。可以参考官方文档:深入响应式原理。

  2. 模板和样式
    React 通过使用 JSX 实现的,JSX 是React.createElement方法的抽象,用于创建虚拟 DOM 实体。语法类似于 HTML,但有一些显着差异。它提供了比 createElement 方法更流畅的开发人员体验、调试和更好的代码可读性。你也可以在没有 JSX 的情况下使用 React。在样式方面,React 社区提出了不同的解决方案,例如 JSS 和 Styled 组件。
    Vue 的模板看起来就像老式 HTML 的模板。事实上,每一个有效的 HTML 也是一个有效的 Vue 模板。在模板内部,框架提供了许多语法糖,如条件、迭代等。在样式方面,可以在样式标签中编写纯 CSS 或任何预处理器。

  3. 可扩展性
    大多数 React 库只是已经增强现有库的简单组件。例如,React-Redux 库使用 Context API 并公开了一个高阶组件,专门用于做状态管理。
    在 Vue 中,许多第三方库都是插件,并利用了内置的插件系统。通过Vue.use方法添加插件。

  1. 使用虚拟 DOM
  2. 轻量级
  3. 提供了响应式和组件化的视图组件。
  4. 都有生命周期
  5. 拥有庞大的社区
  6. 大量可用的库和工具
  7. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值