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使用的主要内容,如果未能解决你的问题,请参考以下文章