模板:
Vue Vue应用的默认选项是把markup放在HTML文件中。 数据绑定表达式采用的是和Angular相似的mustache语法,而指令(特殊的HTML属性)用来向模板添加功能。 React 它要求开发者借助JSX在JavaScript中的render()中创建DOM 渲染函数更加容易调试和测试,Javascript模板可以组织成具有很好的分解性和干(DRY)代码的组件,干代码的可重用性和可测试性更好模板容易出现很难注意到的运行时错误,同时也很难去测试,重构和分解;vue2.0中vue也增加了渲染函数,但是React的渲染系统可配置性更强
数据状态:
React state是不可变(immutable)的,所以不能直接改变,需要使用API中的setState方法: this.setState({ message: this.state.message.split(‘‘).reverse().join(‘‘) }); Vue 数据是可变(mutated)的,所以同样的操作看起来更加简洁。 this.message = this.message.split(‘‘).reverse().join(‘‘); Vue的响应系统还有有些坑的,例如:它不能检测属性的添加和删除和某些数组更改。这时候就要用到Vue API中的类似于React的set方法来解决。
数据渲染速度:
都是将虚拟DOM并同步到真实DOM中 Vue核心开发者提供了一个benchmark测试,可以看出Vue的渲染系统比React的更快,同时vue更轻量
跨平台
React React Native是一个使用Javascript构建移动端原生应用程序(iOS,Android)的库。 它与React.js相同,只是不使用Web组件,而是使用原生组件。 Vue将HTML模板作为它设计的核心部分,并且现有特性不支持自定义渲染,因此很难看出目前的Vue.js的跨平台能力能像React和React Native一样强大。
总结:
ue的优势是:
- 模板和渲染函数的弹性选择
- 简单的语法和项目配置
- 更快的渲染速度和更小的体积
React的优势是:
- 更适合大型应用和更好的可测试性
- Web端和移动端原生APP通吃
- 更大的生态系统,更多的支持和好用的工具
时间: 2024-11-20 11:46:15