# 1. Vue和React的区别:
# 相同点:使用 Virtual DOM
都能使用服务端渲染 React(Next.js)、 Vue(Nuxt.js)
中心思想相同:一切都是组件,组件实例之间可以嵌套;都提供合理的钩子函数
# 不同点:在 React 应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树。
在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染。
React采用特殊的JSX语法,Vue.js在组件开发中推崇编写.vue特殊文件格式
# 2、Vue和React分别在哪个生命周期发起Ajax请求
# vue:
在获取数据后,对数据的处理如果不涉及DOM,可在 created 阶段获取,毕竟速度更快一些
如果数据涉及到DOM的处理,则要在mounted阶段获取数据
# react:
放在componentDidMount
阶段获取
该生命周期在组件已经完全挂载到网页上才会调用被执行,所以可以保证数据的加载
# 3、Vue 和 React(shouldComponentUpdate )性能异同
- 在 React 应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树
如要避免不必要的子组件的重渲染,你需要在所有可能的地方使用 PureComponent,或是手动实现 shouldComponentUpdate 方法。
- 在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的
# 4、vuex、redux、mobx的区别
Redux 和 Vuex 是基于 Flux 的
Flux 、Redux 、Vuex 均为单向数据流。
Flux 与 MobX 可以有多个 Store ,Redux 、Vuex 全局仅有一个 Store(单状态树)。 #### redux和mobx的相同点:
- 1、统一维护管理应用状态
- 2、某一状态只有一个可信数据来源-store 状态容器
- 3、操作更新状态方式统一,并且可控(通常以action方式提供更新状态的途径)
- 4、将react组件从业务上分为容器组件和展示型组件(视图)
# redux和mobx的不同点:
- 1、在Redux中,我们总是将所有共享的数据集中在一个大的store中,而Mobx则通常按模块将应用状态划分,在多个独立的store中管理
- 2、Redux 更多的是遵循函数式编程思想,而Mobx更多的是从面向对象角度考虑问题
- 3、Redux状态通常是不可变的,不能直接操作状态对象,而是在原来状态基础上返回一个新的状态对象,而Mobx中直接使用新值更新状态对象
- 4、Redux以javascript原生对象形式存储数据,而Mobx使用可观察对象
← React18新特性 RN基础 →