vue与react的区别

本文探讨了Vue和React在开发时的写法差异,包括Vue的XML/JS/CSS分离与React的JSX混写,以及两者在编译时和运行时的特点,最后讨论了渲染方面的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.开发时

1.写法:

react(jsx):
calss App extends Component{
	makeJSX(){
		return <div></div>;
	}
	render(){
		return <div></div>;
	}
}

vue:

<template>
  <div class="App">
  </div>
</template>

<script>
...js
</script>

<style>
...css
</style>

react: xml js 可以混着写。判断元素是否显示可以直接用if判断(与jsx判断一样)。
vue: xml / js / css 都是分开写的,不可以混着写。判断元素是否显示需要用固定的语法v-if。

2.编译时

react: 将xml标签 ->js ,所以react的xml和js可以混着写。 没有做编译时优化 =》只做了运行时优化。
vue:  做了编译时优化  语法  主要优化<template></template>部分
vue编译分在线编译(vue本身的代码编译)和离线编译(webpack)

1.createCompilerCreator-->(编译模板的函数)complieToFunctions(template)
 //转义html-->AST
 2.optimize(ast,options);优化AST,标记静态节点。
 3.generate(ast,options);把优化后的AST,转换成可执行的代码。

3.运行时

react:
vue:

4.渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值