11.useComponentDidMount

文化   2024-10-20 20:34   中国香港  

在 React 的函数组件中,有时我们需要在组件首次挂载后执行某些操作,这在类组件中通常通过 componentDidMount 生命周期方法来实现。useComponentDidMount 钩子提供了一种简洁的方式来在函数组件中实现相同的功能。这个自定义钩子使得在组件挂载后执行一次性操作变得简单直观。以下是如何实现和使用这个自定义钩子:

const useComponentDidMount = onMountHandler => {
  React.useEffect(() => {
    onMountHandler();
  }, []);
};

const Mounter = () => {
  useComponentDidMount(() => console.log('Component did mount'));

  return <div>Check the console!</div>;
};

ReactDOM.createRoot(document.getElementById('root')).render(
  <Mounter />
);

这个技巧的关键点包括:

  1. 使用 useEffect 钩子,并传入一个空数组作为依赖项。
  2. 这确保了回调函数只在组件挂载后执行一次。
  3. 模拟了类组件中 componentDidMount 的行为。

使用这个钩子时,需要注意以下几点:

大迁世界
掘金LV8,思否10万+的作者。一个热爱前端的创业者。
 最新文章