cd ~

, with 2 read , about 4min.

React组件生命周期

谈论 React 的生命周期通常是基于类组件的,在 React 中引入函数组件后,类组件的生命周期方法并不适用于函数组件。函数组件依赖于 React Hooks 来管理状态和副作用。

alt text

类组件生命周期

React 类组件中,React 的生命周期可以分为三个主要阶段:

alt text

详细的可以参考这里: link.

函数式组件中的生命周期

类组件每个阶段都有不同的生命周期钩子函数,一共有很多钩子,这里不详细展开研究。且着重使用的就三个,分别是 componentDidMountcomponentDidUpdatecomponentWillUnmount 。函数组件依赖于 React Hooks 来管理状态和副作用,下面列出了关键 Hook —— useEffect() 和这三个钩子的映射关系。

具体生命周期方法在类组件和函数组件中的对应关系如下:

componentDidMount(无参数): 在组件挂载后执行。

对应的 Hook: useEffect(() => { /_ 逻辑 _/ }, []);

componentDidUpdate(prevProps, prevState): 在组件更新后执行。

对应的 Hook: useEffect(() => { /_ 逻辑 _/ });

componentWillUnmount(无参数): 在组件卸载前执行。

对应的 Hook: useEffect(() => { return () => { /_ 清理逻辑 _/ }; }, []);

通过使用 Hooks,函数组件能够实现类组件生命周期方法中的大部分功能,同时代码更加简洁和易于理解。

类组件中通常在 componentDidMount 钩子中去发送请求,在函数式组件中式在 useEffect 中去发送请求,useEffect 模拟了 componentDidmMount 这个钩子。

类组件和函数式组件区别

alt text

cd ~
GO BACK (Backspace)
BACK TO TOP (ESC)
COMMENTS (C)