【发布时间】:2019-02-13 15:17:31
【问题描述】:
我对 react 没有那么丰富的经验。想知道每个人对在非类组件中声明函数包装器的想法。我已阅读该函数将在每次重新渲染时重新声明,这可能会导致性能问题。使用 React Hooks “useCallback”可以克服这个问题,通过存储一个“缓存”回调,它会停止重新声明包装函数吗?
例如
function myComponent(props){
const callBack = () => {// do something};
return <SomeComponent callback={callBack} />;
}
VS
function myComponent(props){
const callBack = useCallback(() =>
{// do something}, [// dependencies]);
return <SomeComponent callback={callBack} />;
}
【问题讨论】:
-
是的,“useCallback 将返回回调的记忆版本,只有在其中一个输入发生变化时才会改变” - 它将被重新声明,但具有相同的记忆 fn
标签: reactjs