useCallback 可以减少 渲染 这个地方的渲染没懂什么意思 我的理解是调用一次r函数就算渲染了一次,然后父组件state上的变量发生变化 子组件不管props有无变化都会重新渲染 和 useCallback 好像没啥关系了
const Child = () => {
return <div>111</div>
}
const App = () => {
const [num, setNum] = useState(1)
const AppChild = useCallback(() => {
return <Child />
}, [num])
return (
<div className="App" onClick={() => setNum(num + 1)}>
<AppChild />
</div>
);
}类似于上述情况,如果当前num没有变化时,返回的依旧是之前计算好的Child内容,并不会重新计算Child组件。