react 无脑使用 useCallback 合理嘛?
发布时间:
2023-08-24 12:46
阅读量:
13
只需记住一个原则:需要保证该函数的稳定时使用useCallback。
几个要使用usecallback的场景
1、当你传递回调给自定义组件时,并不知道组件内部现在/将来有没有把该回调函数作为useEffect的依赖项,所以从职责上来讲应该由组件使用者保证传进去的函数的稳定性,需要使用useCallback。
2、当前组件中需要把函数作为useEffect依赖项时,需要用usecallback
3、当你写了一个自定义hook,并返回函数时,需要保证该函数的稳定性,想想别人useeffect中依赖了你怎么办
几个不需要usecallback的场景
1、向标准的HTML标签中传递回调时,如input的onchange、button的onclick
2、能保证使用该函数的组件内部不会把该函数作为其他hook的依赖项时(强烈不建议,不应该知道/限制其他组件内部逻辑)
END