【问题标题】:Can someone explain how useEffect works in detail?有人可以详细解释 useEffect 的工作原理吗?
【发布时间】:2021-04-11 05:05:02
【问题描述】:

尤其是当我们为 useEffect 提供一个空的依赖数组时的部分。因为据我所知,每次渲染都会产生效果。但是 next useEffect 怎么知道它必须运行一次呢?

【问题讨论】:

  • Dan Abramov 对它进行了彻底的article
  • @Bahman.A 研究工作从来都不是在 Stack Overflow 上提出问题的必要条件。您会发现一些最好的帖子,而作者似乎没有进行任何研究。请注意,有两个用户在您在这里发表评论之前发布了一个有用的链接。假设他们理解被问到的内容。其中之一还提供了答案。

标签: javascript reactjs


【解决方案1】:

但是 next useEffect 怎么知道它必须运行一次呢?

因为在指定依赖数组时,效果挂钩只调用回调:

  1. 在挂载上,并且

  2. 如果数组中的某些内容发生变化

空数组是空数组;它没有任何改变。所以回调只在挂载时运行一次,再也不会运行。

因为据我所知,每次渲染都会产生效果。

我不确定你所说的“效果”是什么意思,但如果你以useEffect 的方式使用“效果”,那么不,没有,如果你提供一个数组作为useEffect. 的第二个参数如果提供数组,则效果挂钩将在每次调用组件函数后调用回调。但是 with 是一个数组,它只在挂载和发生变化时才会这样做。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-09-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-21
  • 2011-01-09
  • 2011-06-24
  • 2021-08-02
  • 1970-01-01
相关资源
最近更新 更多