前端两大框架 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. 状态管理

   vuex : $store 被直接注入到了组件实例中,因此可以比较灵活的使用,组件既可以dispatch action又可以commit updates。

    • 使用 dispatch 和 commit 提交更新
    • 通过 mapState 或者直接通过 this.$store 来读取数据

  redux : 我们每一个组件都需要显示的用 connect 把需要的 props 和 dispatch 连接起来,redux 中只能进行 dispatch,并不能直接调用 reducer 进行修改。

  两者之间的差异

    • Redux 使用的是不可变数据,而Vuex的数据是可变的。Redux每次都是用新的state替换旧的state,而Vuex是直接修改
    • Redux 在检测数据变化的时候,是通过 diff 的方式比较差异的,而Vuex其实和Vue的原理一样,是通过 getter/setter来比较的(如果看Vuex源码会知道,其实他内部直接创建一个Vue实例用来跟踪数据变化)

React更偏向于构建稳定大型的应用,非常的科班化。

Vue更偏向于简单迅速的解决问题,更灵活,不那么严格遵循条条框框。

因此也会给人一种大型项目用React,小型项目用 Vue 的感觉。

原文地址:https://www.cnblogs.com/lyxzxp/p/12309762.html

时间: 2024-10-08 02:01:41

前端两大框架 vue 和 react 的区别的相关文章

前端框架 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的区别

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

前端三大主流框架的对比React、Vue、Angular

前端三大主流框架的对比React.Vue.Angular React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它.它有以下的特性: 1.声明式设计:React采用声明范式,可以轻松描述应用. 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活:React可以与已知的库或框架很好地配合. 优点: 1. 速度快:在UI渲染过程中,

好程序员web前端分享MVVM框架Vue实现原理

好程序员web前端分享MVVM框架Vue实现原理,Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js和react.js更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. ? 1.什么是MVVM呢? MVVM的简写是Model-View-ViewModel. 在过去的10年里面,我们已经把很多传统的服务端代码放到了浏览器中,这样就产生了成千上万行的javascript代码,它们连接了HTML 和CSS文

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

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

目前流行前端几大UI框架 ----vue Vue的UI组件库

在前端项目开发过程中,总是会引入一些UI框架,已为方便自己的使用,很多大公司都有自己的一套UI框架,下面就是最近经常使用并且很流行的UI框架. 一.Mint UI 屏幕快照 2019-01-18 下午3.03.59.png Mint UI是 饿了么团队开发基于vue .js的移动端UI框架,它包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要. 官网:https://mint-ui.github.io/#!/zh-cn Github: https://github.com/Elem

解析SSH和SSM两大框架的组成及其区别

前言 熟悉当下流行的两种企业开发MVC开源框架,是Java程序猿必备知识.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写.M是指业务模型,V是指用户界面,C则是控制器.一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.小编在学校的时候学习过SSH,SSM则是去公司后用的. 一.SSH 和 SSM 的定

vue与react的区别

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

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

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