采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
似乎每次触发Effect钩子都是重新创建了一个回调函数,所以每次timer都是新的,导致不会进入clearTimeout的判断,我的理解对吗? 老师的课程似乎并不涉及API的原理,看得有些吃力呢。
看图说话
为什么useDebounce中的useEffect可以监听到作为参数被传入的value和delay的变化呢?难道value和delay其实是引用对象吗?

hi,clearTimeout 每次都会发生的,这样就可以让上次的setTimeout里的回调函数不发生
老师,为什么useDebounce中的useEffect可以监听到作为参数被传入的value和delay的变化呢?难道value和delay其实是引用对象吗?
这个他们是不是引用对象没关系啊。。。useEffect第二个参数本来就是做这件事的,监听变量变化
但是我认为value和delay这两个变量的值在作为参数传入useDebounce函数之后应该就属于函数作用域中的变量,函数外的同名变量再怎么变也影响不到函数里面的值了吧?
登录后可查看更多问答,登录/注册
解锁 React17 高阶用法,轻松应对大型复杂长周期项目
2.9k 2
3.2k 7
2.0k 2
1.8k 2
1.8k 1
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号