📜  w 组件确实更新和挂载之间的区别 - Javascript (1)

📅  最后修改于: 2023-12-03 14:48:24.174000             🧑  作者: Mango

w 组件确实更新和挂载之间的区别

在 React 中,组件的渲染过程可以分为三个阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。其中,挂载指的是组件初次渲染到 DOM 树上的过程;更新指的是组件在接收到新的属性或者状态后重新渲染到 DOM 树上的过程;卸载指的是组件被销毁时从 DOM 树上卸载的过程。

在 w 组件中,当组件需要更新时,会执行以下流程:

  1. shouldComponentUpdate(nextProps, nextState):该方法会在更新之前被调用,返回 true 表示允许更新,返回 false 则不会更新。

  2. componentWillUpdate(nextProps, nextState):在 shouldComponentUpdate 返回 true 后立即调用。

  3. render():在 componentWillUpdate 之后执行,返回一个 React 元素。

  4. componentDidUpdate(prevProps, prevState):在组件更新完成后立即调用。

相较于更新,挂载的过程会多一些方法:

  1. constructor(props):组件实例化时调用,可用于初始化状态或绑定事件等。

  2. componentWillMount():在组件挂载之前调用,该方法中可以获取到组件的 props 和 state,但不推荐在此方法中更新状态,因为此时状态并未与 DOM 同步。

  3. componentDidMount():在组件挂载后调用,该方法中可以进行一些需要 DOM 的操作,比如获取 DOM 元素的宽高等信息。

总的来说,挂载和更新的过程在 w 组件中都差不多,只是在更新前多了一个 shouldComponentUpdate 方法,该方法允许我们在组件更新前对性能做出优化。

而在 componentWillUnmount 方法中,我们可以进行一些组件销毁前的清理工作,比如解绑定时器、移除事件监听器等。

# w 组件确实更新和挂载之间的区别

在 React 中,组件的渲染过程可以分为三个阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。其中,挂载指的是组件初次渲染到 DOM 树上的过程;更新指的是组件在接收到新的属性或者状态后重新渲染到 DOM 树上的过程;卸载指的是组件被销毁时从 DOM 树上卸载的过程。

在 w 组件中,当组件需要更新时,会执行以下流程:

1. shouldComponentUpdate(nextProps, nextState):该方法会在更新之前被调用,返回 true 表示允许更新,返回 false 则不会更新。

2. componentWillUpdate(nextProps, nextState):在 shouldComponentUpdate 返回 true 后立即调用。

3. render():在 componentWillUpdate 之后执行,返回一个 React 元素。

4. componentDidUpdate(prevProps, prevState):在组件更新完成后立即调用。

相较于更新,挂载的过程会多一些方法:

1. constructor(props):组件实例化时调用,可用于初始化状态或绑定事件等。

2. componentWillMount():在组件挂载之前调用,该方法中可以获取到组件的 props 和 state,但不推荐在此方法中更新状态,因为此时状态并未与 DOM 同步。

3. componentDidMount():在组件挂载后调用,该方法中可以进行一些需要 DOM 的操作,比如获取 DOM 元素的宽高等信息。

总的来说,挂载和更新的过程在 w 组件中都差不多,只是在更新前多了一个 shouldComponentUpdate 方法,该方法允许我们在组件更新前对性能做出优化。

而在 componentWillUnmount 方法中,我们可以进行一些组件销毁前的清理工作,比如解绑定时器、移除事件监听器等。