差异: 1、vue中的数据通过data属性由vue对象进行管理,react中的数据通过state属性进行管理; 2、vue通过插槽进行嵌套传输,react通过“props.children”方式将标签内的部分传输到子部件。
另一方面,Vue和React框架的区别模板和jsx、状态管理、组件嵌套条件呈现、列表呈现、组件之间的通信传递、路由管理
1、模板和jsx
Vue:Vue.js将html、css和js组合在一起,通过使用基于html的模板语法,使开发者能够将DOM声明性地绑定到基础vue实例的数据。 Vue.js的核心是能够使用简洁的模板语法在DOM中声明性地呈现数据的系统。
react:HTML语言直接写入JavaScript语言中,而不使用引号。 简单来说,这就是JSX语法,允许混合使用HTML和JavaScript。
2、状态管理
vue :数据通过data属性在vue对象中进行管理。
react :数据按state属性进行管理,但不能直接改变state的状态。 需要用setState ()进行更新。
3、嵌套组件
vue :通过插槽的嵌套传输
父组件嵌套子组件wrap
子组件wrap
渲染结果
在react:props.children中将标记中的部分传递给子部件
父组件嵌套子组件wrap
子组件wrap
4、条件渲染和列表渲染
vue条件渲染: v-if、v-show条件渲染的集数。
vue列表渲染:以v-for系列数进行列表渲染。
react条件渲染:使用逻辑||和三元运算符创建表示当前状态的元素。
react列表呈现:使用{}在JSX中生成元素集合,然后使用map )方法循环数组。
5、组件之间的通信值
vue:
父代:在父组件中绑定定制属性,或在v-bind中绑定动态属性。 子组件在使用props选项时显式声明props,以便可以从父组件接收期望的数据。
传递父组件:在父组件中绑定定制事件,然后在this.emit '定制事件',value '中传递值。
非父子:使用空Vue实例绑定到Vue实例的原型(事件总线中心(vue.prototype.eventBus=new Vue ) ) )。)
父组件one
子组件one-one
react:
父子:按props属性传递。
传递父组件:当父组件定义事件且子组件触发父组件中的事件时,通过引用修改父组件中的数据进行通信。
非父/子组件:非嵌套父/子组件可以是公共父组件,而非嵌套子组件可以与redux共享状态。
父组件
子组件
6、路由管理
vue-router是一种全局配置方法,它的所有路由组件都渲染到一个位置。
react-router是全局组件方法,react-router子组件作为children传递给父组件。
二. Vue和React框架的相同点
组件化: React和Vue鼓励将APP应用程序划分为功能清晰的模块。 这样的组件化使结构清晰,便于重用。
虚拟Dom :为了有效地渲染页面并降低性能消耗,采用了Virtual Dom。
支持框架:两个框架都集中在UI层,其他功能,如路由选择、状态管理(vuex,redux )等都交给辅助框架处理。
构建工具: React支持createreactapp(CRA ),而Vue支持vue-cli。
有关编程的更多知识,请参见编程教育。