React和Vue的区别

一、数据是不是可变的

1.  React是单向数据流,推崇结合immutable来实现数据不可变,在setState之后会重新走渲染的流程

    Vue的思想是响应式的,是数据双向绑定,通过对每一个属性建立Watcher来监听,当属性变化时,响应式的更新对应的虚拟dom

    为什么 React 不精确监听数据变化呢?这是因为 Vue 和 React 设计理念上的区别,Vue 使用的是可变数据,而React更强调数据的不可变。所以应该说没有好坏之分,Vue更加简单,而React构建大型应用的时候更加棒。

2. 优缺点:React的性能优化需要手动去做,而vue的性能优化是自动的。但是vue的响应式机制也有问题,当state特别多的时候,watcher也会特别多,会导致卡顿,所以大型应用(状态特别多的)一般都用react,更加可控

二、React通过js来操作一切,Vue用自己的模板引擎

1.  react的思路是all in js, 通过js来生成HTML,所以设计了jsx,还有通过js来操作css,社区的styled-component,jss等

2. vue是把html,css,js组合到一起,用各自的处理方式,vue有单文件组件,可以把html、css、js写到一个文件中,html提供了模板引擎来处理

三、react都是类式的组件写法,vue是声明式写法(在vue3.0支持类式写法之后就可以去掉了)

1. react是类式的写法,api很少

2. vue是声明式写法,通过传入各种options,api和参数都很多

3. 所以react结合Typescript更容易一起写,vue稍微复杂

四、Vuex和Redux的区别

1. Redux使用的是不可变数据,所以每次都是用新的state替换旧的state

2. Vuex的数据是可变的,所以Vuex是直接修改原数据

3. Redux 在检测数据变化的时候,是通过 diff 的方式比较差异的,而Vuex其实和Vue的原理一样,是通过 getter/setter来比较的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值