reac中useCallback使用
Posted 前端那点事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reac中useCallback使用相关的知识,希望对你有一定的参考价值。
import React,{useState,useCallback} from "react"
const Son = React.memo( ({a,c}) =>{
console.log(\'son 重新渲染\');
return (
<div>
a:{a}
<button onClick={c}>点击</button>
</div>
)
})
export default function useCallBack(){
const [a, setA] = useState(0);
const [b, setB] = useState(0);
// const memoHandClick = () => console.log("click");
const memoHandClick =useCallback(() =>{console.log("click")},[]) //避免的重新生成回调函数 保证了Son组件的重新渲染
return(
<div>
{console.log(\'UseCallBack 渲染\')}
<Son a={a} c={memoHandClick} />
<button onClick={() =>{setA(a +1 )}}>改变A</button>
<button onClick={() =>{setB(b +1 )}}>改变B</button>
<button onClick={memoHandClick}>click</button>
</div>
)
}
效果:
以上是关于reac中useCallback使用的主要内容,如果未能解决你的问题,请参考以下文章
React Hooks useCallback 的简单示例的问题
1024用代码改变世界useMemo 和 useCallback|React.memo使用场景
具有依赖关系的 useCallback 与使用 ref 调用函数的最后一个版本
useEffect, useCallback, useMemo三者有何区别?