团队成员中对什么时候使用 useMemo 和 useCallback 存在分歧
function App () {
const [count, setCount] = useState(0);
// 对于需要传递到子组件的方法大家都没有疑问,需要使用 useCallback 包裹,保证每次本组件渲染后 goBack 句柄不变
const goBack = useCallback(() => {
console.log('点击返回');
}, []);
// ????疑问1: 这个函数仅在本组件中使用是否需要使用 useCallback 包裹
const addCount = () => {
console.log('点击增加按钮');
setCount(count => count + 1);
};
// ????疑问2: 类似这些变量是否需要使用 useMemo 包裹
const columns = [
{
title: "名称",
key: "1",
width: "35%",
align: "center",
},
{
title: "模块",
key: "2",
width: "15%",
align: "center",
},
...
...
];
return (
<div>
<Header goBack={goBack}>
<div>count: {count}</div>
<button onClick={addCount}>add button</button>
{columns.map((item) => {
return (
<div key={item.key}></div>
);
})}
</div>
);
}
这两个优化 hook 到底应该什么时候使用呢?