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组件。