7

Vue 通过其响应机制触发组件重新渲染,因此开发人员可以直接改变状态。Vue 会检测状态变化并触发组件重新渲染。

React 通过手动触发组件重新渲染setState,React 将区分 VDOM 以检查它是否应该重新渲染。建议开发人员不要直接改变状态,而是创建一个新的状态来替换原始状态,这样原始状态和新状态就可以shallowEqual有效地进行。(不可变方法)。

例如,有如下状态:

state = { a: 1, b: 2 }

// mutate state in Vue
state.a = 3

// mutate state in React
this.setState({...state, a: 3 })

似乎反应机制更直观,可以编写更少的代码。我想知道这两种方法之间的优缺点是什么?我应该选择哪种方案而不是另一种方案?

4

0 回答 0