我希望 React 组件中的一行代码仅在组件安装时执行,而不是在重新渲染时执行。在有状态组件中,我将在 componentDidMount
/componentWillMount
方法中执行此操作。
如何使用钩子(Hook)来做到这一点?
最佳答案
我相信您正在寻找 React useEffect
Hook 。它是 componentDidMount、componentDidUpdate 和 componentWillUnmount 的钩子(Hook)替代品。您可以像这样使用它:
useEffect(() => {
console.log("only executed once")
}, [])
请注意第二个参数为空数组,它定义了此效果的依赖项。在这种情况下,您希望没有依赖关系,这样效果就不会再次执行。
有一篇很好的文章介绍了如何用可用的钩子(Hook)替换以前的生命周期函数 here .
关于reactjs - 如何确保在功能组件中使用 React hooks 一行代码只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63251560/