vue框架和php,vue框架和react框架的区别是什么

区别:1、vue中的数据由data属性在Vue对象中进行管理,react中的数据由state属性管理;2、vue通过slot插槽进行嵌套传递,react通过“props.children”的方式将标签内的部分传递给子组件。

a46106e296c096f2b9bc5df07ba75e49.png

一、Vue和React框架的不同点模板和jsx、状态管理、组件嵌套条件渲染、列表渲染、组件间的通信传值、路由管理

1、模板和jsx

vue:Vue.js 把html,css,js组合到一起,用各自的处理方式,使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统。

d09572888a4955f6059d94a2631f581e.png

react:HTML 语言直接写在 JavaScript 语言之中,不加任何引号,简单说这就是 JSX 的语法,它允许 HTML 与 JavaScript 的混写。

473a0077f1069d08ce42079f10018d07.png

2、状态管理

vue:数据由data属性在Vue对象中进行管理。

react:数据由state属性管理,但不能直接改变state的状态,需要通过setState()去更新。

273ebd47531e2269d2c08879d97f71b0.png

3、组件嵌套

vue:通过slot插槽进行嵌套传递

父组件嵌套子组件wrap

89ffbb5f73ee07337d82165b612f0fcc.png

子组件wrap

bf9a3078cc86ae195aa4ee8a59d92d52.png

渲染结果

ad3b416ccbae25fd5120c3740789b39f.png

react:通过props.children的方式将标签内的部分传递给子组件

父组件嵌套子组件wrap

11a1c2c86fac555aaae02e4571befe8e.png

子组件wrap

5951e5070e9b96b54e3c31c2065923f7.png

4、条件渲染和列表渲染

vue条件渲染:v-if、v-show条件渲染一组数。

vue列表渲染:v-for一组数进行列表渲染。

f65f5c479922ad730150264e02750c29.png

react条件渲染:使用逻辑运算&& || 、三目运算符来创建表示当前状态的元素。

react列表渲染:通过使用{}在JSX内构建一个元素集合,使用map()方法循遍历数组。

759418d9d5f18b6d85cc98bddf62b1d3.png

5、组件间的通信传值

vue:

父传子:通过父组件绑定自定义属性(或通过v-bind绑定动态属性),子组件使用 props 选项时显式的声明props,以便它可以从父组件接收到期望的数据。

子传父:通过父组件绑定自定义事件,子组件通过this.emit('自定义事件',value)传值。

非父子:可以使用一个空的 Vue 实例绑定在Vue实例的原型上作为一个事件总线中心(vue.prototype.eventBus = new Vue()),用emit触发事件,on监听事件。

父组件one

b2053ce1611f7ed9965762bb9483c942.png

子组件one-one

9a87ca4a6923522dd9a21e1570718e98.png

react:

父传子:通props属性进行传递。

子传父:父组件定义事件,子组件触发父组件中的事件时,通过实参的形式来改变父组件中的数据来通信。

非父子:嵌套不深的非父子组件可以使共同父组件,嵌套的深可以用redux共享状态。

父组件

176b135e5cf5a03ed9922855e0f6a163.png

子组件

4cc3e63705431620ab1cf073e09a633f.png

6、路由管理

vue-router是全局配置方式,vue-router任何路由组件都会被渲染到位置。

11fb6e9bb8114824208bc95343f30fb9.png

0a9e01313a1024020368a3112c2567c8.png

react-router是全局组件方式,react-router子组件作为children被传入父组件。

ace3890435aec59acb90b3c15238c754.png

二、Vue和React框架的相同点

组件化:React与Vue都鼓励将你的应用分拆成一个个功能明确的模块,这样的组件化使得结构清晰且易复用。

虚拟Dom:为高效渲染页面,减少性能的消耗,都采取了Virtual Dom。

配套框架:两个框架都专注于UI层,其他的功能如路由、状态管理(vuex,redux)等都交由同伴框架进行处理。

构建工具:React可以使用Create React App (CRA),而Vue对应的则是vue-cli。

更多编程相关知识,请访问:编程教学!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值