vue 和react的区别

1.数据是不是可变的

react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变。

react在setState之后会重新走渲染的流程,如果shouldComponentUpdate返回的是true,就继续渲染,如果返回了false,就不会重新渲染,PureComponent就是重写了shouldComponentUpdate,然后在里面作了props和state的浅层对比。

而vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟dom

2.通过js来操作一切,还是用各自的处理方式

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

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

3.类式的组件写法,还是声明式的写法

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

而vue是声明式的写法,通过传入各种options,api和参数都很多。所以react结合typescript更容易一起写,vue稍微复杂。

4.什么功能内置,什么交给社区去做

react做的事情很少,很多都交给社区去做,

vue很多东西都是内置的,写起来确实方便一些,

比如 redux的combineReducer就对应vuex的modules,
比如reselect就对应vuex的getter和vue组件的computed,
vuex的mutation是直接改变的原始数据,而redux的reducer是返回一个全新的state,所以redux结合immutable来优化性能,vue不需要。

作者:凌霄光
链接:https://www.jianshu.com/p/b7cd52868e95
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/joer717/p/10683433.html

时间: 2024-10-14 17:13:40

vue 和react的区别的相关文章

vue、react等单页面项目部署到服务器的方法及vue和react的区别

最近好多伙伴说,我用vue做的项目本地是可以的,但部署到服务器遇到好多问题:资源找不到,直接访问index.html页面空白,刷新当前路由404...用react做的项目也同样遇到类似问题.现在我们一起讨论下单页面如何部署到服务器? 由于前端路由缘故,单页面应用应该放到nginx或者apache.tomcat等web代理服务器中,千万不要直接访问index.html,同时要根据自己服务器的项目路径更改react或vue的路由地址. 如果说项目是直接跟在域名后面的,比如:http://www.so

前端框架 vue 和 react 的区别

前言:最近需要使用 react,以前用过 vue,故来总结两者的区别. 首先React与vue有几点相同之处 1.都使用了Virtual DOM 2.提供了响应式(Reactive)和组件化(Composable)的视图组件 3.将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库 性能方面 #React在性能方面使用virtual DOM实现没有vue的virtual DOM实现好,相比较来说vue的virtual DOM的实现更为轻量些 #在React应用中,当某个组件的状

vue和react的区别以及各自的优点

区别 监听数据变化的实现原理不同 Vue 通过 getter/setter 以及一些函数的劫持,能精确知道数据变化,不需要特别的优化就能达到很好的性能 React 默认是通过比较引用的方式进行的,如果不优化(PureComponent/shouldComponentUpdate)可能导致大量不必要的VDOM的重新渲染 为什么 React 不精确监听数据变化呢?这是因为 Vue 和 React 设计理念上的区别,Vue 使用的是可变数据,而React更强调数据的不可变.所以应该说没有好坏之分,Vu

vue与react的区别

相同点:都是基于组件化的轻量级框架,都专注于构建用户界面的视图层 vue,react都会构建一个虚拟的DOM并同步带真是的DOM中 vue数据绑定表达式使用过的双大括号语法,而指令是用于向模板添加功能,react不使用模板,借助jsx在JavaScript中创建DOM react里的状态(state)是不可变的,不能直接改变它,要用setState API方法,vue的数据是可变的,遍历其中所有的属性转换为getter,setter方法 如果你想要一个同时使用于web端和app端的框架.请选择r

前端随心记---------vue和react的区别

React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库. 不同之处: 修改数据的方式. 模板渲染方式的不同. 组件通信的区别. Vuex 和 Redux 的区别. 监听数据变化的实现原理不同, Vue 通过 getter/setter 以及一些函数的劫持,能精确知道数据变化,不需要特别的优化就能达到很好的性能 Re

Vue和React的区别,以及如何选择?

简介 React:React是一个用于创建可重用且有吸引力的UI组件的库.它非常适合代表经常变化的数据的组件. Vue:Vue.js是一个开源JavaScript框架,能够开发单页面应用程序.它还可以用作Web应用程序框架,旨在简化Web开发. 共同点 1:都是为了一起与核心库使用而构建的,并将其他功能如路由和全局状态管理交给相关库: 2:两者都是基于Virtual DOM模型, 3:提供了以响应式和组件化的视图组件. 区别 ♥ 组成结构   React.js是使用虚拟DOM(基于文档对象模型)

vue和react的区别

react和vue都是做组件化的,整体的功能都类似,但是他们的设计思路是有很多不同的.使用react和vue,主要是理解他们的设计思路的不同. 数据是不是可变的 react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变. react在setState之后会重新走渲染的流程,如果shouldComponentUpdate返回的是true,就继续渲染,如果返回了false,就不会重新渲染,PureCompo

前端两大框架 vue 和 react 的区别

1. 设计思想 vue: vue的官网介绍说vue是一种渐进式框架,采用自底向上增量开发的设计: react: 采用函数式编程,推崇纯组件,数据不可变,单向数据流: 2. 编写语法 vue: 采用单文件组件格式,保留了html,css,js分离的写法: react: 通过jsx渲染模板,html,css全部写入js中: 3. 构建工具 vue: 提供cli脚手架,可以非常容易的创建项目并进行配置: react: 使用creat-react-app,有局限行,不能完成某些配置: 4. 状态管理 v

vue和react区别

前端都知道3个主流框架,vue,react,anjular,当然目前最火的还是vue和react,那么vue 和react 的区别? 相同点:   1.都支持服务器端渲染     2.都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范     3.数据驱动视图     4.都有支持native的方案,React的React native,Vue的weex     5.都有管理状态,React有redux,Vue有自己的Vuex(自