zoukankan      html  css  js  c++  java
  • react中useCallback使用案例

    react中useCallback使用案例

    import React,{useState,useCallback,useEffect} from "react"
    const set = new Set();
    export default function UseCallback(){
    // 返回一个数组,第一个值是状态,第二个是改变状态的函数
    const [num, setNum] = useState(1);
    const [age, setAge] = useState(18);

    // function getDoubleNum(){
    //   console.log('获取双倍的num');
    //   return 2*num
    // }
    
      // 在使用方法上和useMemo相同
    //useMemo返回的是一个值,useCallback返回的是一个函数
    // 不同点 useMemo缓存的是一个值,useCallback缓存的是一个函数
    const getDoubleNum = useCallback(() =>{
        console.log('获取双倍的num');
      return 2*num
    },[num])
    
    set.add(getDoubleNum)
    console.log(set.size);
    
    return(
        <div onClick={() => setNum(num +1)}>这是一个函数式组件--{getDoubleNum()}  ---age:{age}
        
            <Child callback={getDoubleNum} />
        </div>
    )
    

    }

    function Child(props){
    // console.log(props.callback);

    useEffect(() =>{
        console.log('callback更新了');
    },[props.callback])
    
    return(
        <div>
            child
        </div>
    )
    

    }

    运行展示

  • 相关阅读:
    Directory类的使用、Alt+Shift+F10可以查看其命名空间
    用户控件
    图像检测算法Halcon 10的使用
    MD5加密的使用
    AppDomain.CurrentDomain.AssemblyResolve
    记事本程序
    C#文件操作
    部分常用控件
    TreeView的使用
    ComboBox的使用
  • 原文地址:https://www.cnblogs.com/malong1992/p/15366622.html
Copyright © 2011-2022 走看看