请稍等 ...
×

采纳答案成功!

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

关于把ref对象作为useCallback依赖的做法

图片描述
为什么第二个参数要写counterRef,这个counterRef不是一直不会变化吗

正在回答

插入代码

1回答

茵风泳月 2019-05-23 13:34:26

你好同学,你说的没错,正常的话,ref是不会变的,一直指向同一个对象。依然把它传递给useCallback的原因是,让useCallback的逻辑与变量counterRef的逻辑解耦

意思就是对于useCallback的意义是:我不管counterRef会不会变,反正我依赖了它,为了我能正常运行,我必须把它声明出来

你也可以这样理解,万一counterRef会变化,那么useCallback是不会受到影响的,这就是解耦合的意义所在,比如

1
2
3
const oneRef = useRef();
const twoRef = useRef();
const counterRef = <somecondition> ? oneRef : twoRef;

这样的话,counterRef就是会变化的了。尽管让它变化,我们useCallback不需要改动代码。

祝您学习愉快!

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号