相似之处
- 使用 Virtual DOM
- 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
- 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
运行时的性能
在 React 应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树。整个子树的渲染输出都是由该组件的 props 所决定的。如果不符合这个情况,那么此类优化就会导致难以察觉的渲染结果不一致。
在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染,并且没有上述的子树问题限制。
HTML & CSS
React中 ,HTML可以使用JSX(使用 XML 语法编写 JavaScript 的一种语法糖)来表达,css纳入JS中处理。
语法糖:它的意思就是编程语言中使用新的某种语法,可以提高开发编码的效率,写起代码来很爽,不过在性能上也不会带来提高与损失。
Vue中推荐的是模板,对于习惯了HTML开发的开发者来说用起来更方便。
我们可以把组件区分为两类:一类是偏视图表现的 (presentational),一类则是偏逻辑的 (logical)。我们推荐在前者中使用模板,在后者中使用 JSX 或渲染函数。这两类组件的比例会根据应用类型的不同有所变化,但整体来说我们发现表现类的组件远远多于逻辑类组件。
vue的css样式通常是跟要渲染的组件在同一个文件中 ——单文件组件设置样式 。
规模
向上扩展:
状态管理模式 Vuex(React中是redux)
Vue提供了CLI脚手架(react中对应的是 create-react-app,相比于Vue会有一些限制,但这也正是react的优势)
向下扩展
React学习前需要知道 JSX 和 ES2015
Vue把需要用到的标签放入页面对应位置即可,起点相对低一些
原生渲染
React Native(简称rn):可进行同时地跨多平台开发(Weex 是阿里巴巴发起的跨平台用户界面开发框架,允许使用Vue愈发开发 )。
另一个选择是 NativeScript-Vue,一个用 Vue.js 构建完全原生应用的 NativeScript 插件。
Mobx
Mobx 在 React 社区很流行,常与Redux作比较。
官网提供的对比[https://cn.vuejs.org/v2/guide/comparison.html](https://cn.vuejs.org/v2/guide/comparison.html)