React和Vue的区别

124 阅读1分钟

- 定位:

都是用来处理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:推荐自己的第三方库