我最近正在使用 React Hooks 重构一个 Web 应用程序。我遇到一个关于useCallback
. 基于 Kent 的描述:https ://kentcdodds.com/blog/usememo-and-usecallback ,useCallback
就是将相同的函数引用传递给子组件,避免子组件的重新渲染,从而使性能更好. 但是,它与React.memo
. 正如肯特所说:
大多数情况下,您不应该费心优化不必要的渲染。React 非常快,我可以想到很多事情可以让你用你的时间去做,这比优化这样的事情要好。事实上,用我将要展示给你的东西来优化东西的需求是如此罕见,以至于我实际上从来不需要这样做......
所以,我的问题是:我是否有权声称我们不需要经常使用useCallback
?除非回调的创建成本很高,否则 using 会useCallback
避免为每个渲染重新创建回调。
比如说,对于一个onClick
或onChange
事件处理程序,2 行或更少,我们应该不使用useCallback
它来包装它吗?