ReactJS 中什么是副作用以及如何处理它?

什么是副作用

ReactJS 是一个 UI 库。它的工作是渲染 UI 并根据用户的交互或事件更新它。例如:如果用户单击了按钮,则相应地更新 UI。但是,有许多事件不需要任何用户交互或事件。例如:应用程序加载时的 API 数据,用户已登录,我们希望保留用户信息并更新主题或其他信息。这种不需要任何用户事件或交互的需求在ReactJS中被称为“副作用”

为什么我们需要副作用

ReactJS 中有更多操作不需要用户的事件/交互,但它们对于完成应用程序工作至关重要。

什么是 useEffect 钩子

useEffect() 是 ReactJS 的一个钩子,它允许我们在 React 组件中处理此类副作用。它为我们提供了处理 ReactJS 代码中副作用的正确方法。

喜欢这个博客吗?我用印地语创建了一个关于同一主题的视频:(在 15 分钟内学习 useEffect)[ https://youtu.be/Jbb_xJfURhI ]

useEffect 的语法
useEffect(() => {}, []);
useEffect()有 2 部分:

method : 在这里我们将编写我们的副作用代码

依赖项:依赖项数组是我们声明依赖项的地方,它将决定何时执行 useEffect()

useEffect() 和依赖数组

useEffect() 也可以用作 ReactJS 中的生命周期钩子。这取决于依赖项数组。

1. 省略依赖数组

 useEffect(() => { 
  console.log('I am running');
})

每次组件重新渲染时都会运行,第一次也是如此。这是componentDidMount, 和componentDidUpdate生命周期挂钩。

我们应该将每次组件重新渲染时您想要的副作用保留在这里。

2. 空白依赖数组

 useEffect(() => { 
  console.log('I am running');
},[])

这只会在组件初始安装时运行一次,之后就不会运行。您可能会遇到那些您只希望在第一次安装组件时出现的副作用。例如:API 请求。

3. 依赖数组中的值

 useEffect(() => { 
  console.log('I am running');
},[ count ])

这里我们在依赖数组中添加了一个状态。这将使 useEffect 在加载时运行一次,然后每当状态计数发生变化时运行。这将充当componentDidUpdate和componentDidMount

4. 清理

如果我们需要在卸载之前清理副作用,并且在组件因状态更改而重新渲染之前重新渲染组件,我们可以使用 useEffect 来执行相同的操作。

请记住这是可选的

 useEffect(() => { 
  console.log('I am running');
   return () => {
      // your clean up code
   }
},[ count ])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值