reactjs - 如何确保在功能组件中使用 React hooks 一行代码只执行一次?

标签 reactjs react-hooks react-functional-component

我希望 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/

相关文章:

reactjs - 在 React.js 的功能组件中使用 onClick 隐藏按钮

reactjs - 为什么在react的 "useState"钩子(Hook)中一遍又一遍地设置初始状态

reactjs - 测试时如何在我的组件之外设置 Formik isSubmitting?

javascript - React Router 将参数从表行传递到 browserHistory

javascript - react 路由器 BrowserRouter 与 typescript react 的问题?

reactjs - 如何将 useState 与 {} 一起使用?

javascript - 将 axios 响应保存到状态 react Hook

javascript - React Hook useEffect 缺少依赖项数组

javascript - ReactJS:这是保留字

javascript - react 闪存消息 : How to make the message show without refreshing the page but refresh on 200