关于memo,useCallback
来源:6-6 日趋完美 - Menu 组件编码第三部分

寂寞追不上我
2020-04-21
请问老师,如图中这种函数需要用useCallback包裹吗?这个函数依赖的参数index是接收的,是不是每次都会重新创建?
我个人理解,useCallBack每次都会执行,只是根据依赖来判断是否生成新的结果,如果要性能优化必须要结合memo一起?
另外,如果用memo包裹MenuItem,会导致外层取不到displayName,ts貌似不能推断memo返回的匿名函数的类型,应该如何解决呢?
又是这么多问题,真不好意思,麻烦蟀蟀七七的老师了~~~
写回答
1回答
-
张轩
2020-04-22
同学你好 关于 memo 和 useCallback 几个字感觉写不完 推荐你看看这篇文章欧 https://jancat.github.io/post/2019/translation-usememo-and-usecallback/
第二个问题 你应该把它断言为 React.NamedExoticComponent 类型把,上面有 displayName 属性,可以试试好不好用
interface NamedExoticComponent<P = {}> extends ExoticComponent<P> { displayName?: string; }
00
相似问题