- 定位:
都是用来处理UI层的框架。
Vue是渐进式,可以选择性的添加相应的功能。
React不是渐进式,若使用React,则需要抛弃以前的东西如JQuery,使用Webpack、JSX等。
- 语法:
Vue是用模板化template的,
React是用JSX,JSX可以最大程度利用JS能力,逻辑判断、循环、递归
组件接收父组件传递过来的视图
React:使用props.children或render prop,单向数据流
Vue:使用slot
- keep-alive
Vue有keep-alive,可以使被包含的组件保留状态或避免重新渲染,所谓的组件缓存。 React没有keep-alive。
- Hooks
React16.8开始推出了hooks
Vue3借鉴,推出了Compostion API
- UI更新
都是延迟一会儿再更新,都是为了响应式
React:传入新的数据去代替之前的旧数据,通用方法通知视图更新
Vue:根据两次数据渲染的DOM树diff不同,去更新UI
- 组件化
Vue:通过单文件SFC组件的方式来实现,SFC将所有的模板、样式和JavaScript代码组合在一个文件中。
React:组件是通过JavaScript类或函数来实现,类或函数返回一个描述组件DOM结构的JSX元素。
- 文化不同
Vue:官方自己提供了很多 React:推荐自己的第三方库