vue、react、小程序的区别是什么?

vue、react、小程序的区别是什么?本篇文章就来给大家对比一下vue react和小程序三者间写法和生命周期的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

小程序、vue、react写法的区别

1. 标签内属性:

vue:

:key = "index"   (直接字符串)

react:

key={index}   (单括号)

小程序:

key="{{index}}"   (字符串内双括号)

2. 绑定事件

vue:

@click="clickFuc"  (字符串)

react:

onClick={clickFuc}  (单括号)

小程序:

onTap=“clickFuc”  (字符串)

3. 动态内联style和class

vue:

:style="{height: xx > 0? '300px' : ' ' }"
:class="{firstImg: index === 0}"

react:

style={{display: (index === this.state.currentIndex) ? 'block': 'none'}}
className={`red ${index === this.state.currentIndex ?'active' : null }`}

小程序:

style="display:  {{ num ===3? 'block' :  'none' }}"
class="red {{num==3?'cur':' '}}"

4. 数据修改

Vue

this.data1 = 123;

React

this.setState({
    data1: 123
});

小程序

this.setData({
    data1: 123
});

react、vue、小程序生命周期对比

组件生命周期

A.创建期的生命周期

reactVue小程序说明

beforeCreate
实例化this之前
constructor写在模板中写在模版中初始化

createdcreated实例化this之后
componentWillMount(旧) <br> getDerivedStateFromProps(新)beforeMountattached渲染前执行。
render对应component对应component渲染时执行。渲染方法
componentDidMountMountedready渲染后执行。

说明:

  1. componentWillMount、beforeMount、attached渲染前执行,可以用于渲染前的修改(同步数据),并且不会触发重渲染。很少用到

  2. 在react中,因为componentWillMount作用不大,为了将逻辑分的更清楚,用getDerivedStateFromProps替代,用于props来更新state

  3. 组件实例化后和接受新属性时将会调用getDerivedStateFromProps。它应该返回一个对象来更新状态,或者返回null来表明新属性不需要更新任何状态

发送请求:

  1. react在constructor阶段发送请求

  2. Vue、小程序在created阶段发送请求,Vue如果获取的数据与修改data无关(beforeCreate最好不要改动data里的数据,否则可能会出现无法监听的情况),则可以在beforeCreate阶段发送请求

对比下来:

基本一样,react采用JSX系统,声明式[手动挡(用的好会比自动挡要好)],封装在函数/类中
Vue、小程序采用模板系统,响应式[自动挡(优雅)],区分比较清楚

B.生存期的生命周期(更新)

1.props改变-->state/data改变

reactVue小程序说明
getDerivedStateFromProps自动挡(组件依赖)自动挡(组件依赖)父类props改变时触发

对比:

react手动挡,根据props手动判断要不要触发重渲染

vue、小程序自动挡,会缓存组件依赖,从而判断要不要渲染该子组件

2.state/data改变

reactVue小程序说明
shouldComponentUpdate自动优化
通过返回 false来阻止组件的重新渲染
componentWillUpdatebeforeUpdate
更新前执行,用于最后打补丁及操作更新前的DOM
render无对应方法。对应component无对应方法。对应component渲染时执行
componentDidUpdateupdated
更新后执行

说明

react,父状态改变,全部子组件都会重新渲染:可以通过shouldComponentUpdate来优化

Vue,在渲染过程中,会跟踪每个组件的依赖关系,不需要重新渲染整个组件树:自动优化

3.再次打开(复用情况)

reactVue小程序说明

activated
keep-alive组件再次打开时,相当于小程序的show

deactivated
keep-alive组件再次切换时,相当于小程序的hide

C.销毁期生命周期

reactVue小程序说明
componentWillUnmountbeforeDestory
销毁前执行

destoryeddetached销毁后执行

更多前端开发知识,请查阅 HTML中文网 !!

以上就是vue、react、小程序的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读