请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

所有的useEffect执行完都会执行上一个useEffect return的函数吗?

如题所示 比如有多个不同的useEffect执行 也会在后一个useEffect执行完执行前面的useEffect返回的函数吗
还是说只是同一个useEffect执行多次 后面的useEffect执行完会执行前面的useEffect return的函数

正在回答 回答被采纳积分+3

1回答

Nolan 2021-06-05 20:15:45

第二个理解是对的

0 回复 有任何疑惑可以回复我~
  • 老师,这个第二个理解是不是有点问题,我感觉应该是 第二个useEffect hook运行的时候会先运行第一个useEffect hook return的函数,来清理上一个useEffect hook的副作用。而不是像问题中提到的,后面的useEffect执行完 才会执行前面的useEffect return的函数? 望指正
    回复 有任何疑惑可以回复我~ 2021-07-10 17:24:05
  • 你说的是对的,我当时没有看清楚。我再重新整理一遍吧,这里应该是:多个useEffect执行,下一个useEffect执行之前会执行上一个useEffect返回的回调函数
    回复 有任何疑惑可以回复我~ 2021-07-11 02:07:26
  • retuen ()=>clearTimeout(timeout), 开始这里看了半天没明白, 后来查看了文档, useEffect每次执行新的会替换旧的useEffect, 返回函数就会出发消除机制执行到clearTimeout. 不然就会一直保存.
    回复 有任何疑惑可以回复我~ 2022-04-29 01:05:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信