美文网首页
react Hooks —— useCallback用法

react Hooks —— useCallback用法

作者: sweetylulu | 来源:发表于2022-08-25 16:11 被阅读0次

    useCallback作用:

    1、防止函数组件的函数重新生成

    let fn = null
    const App = () => {
      const Child = ({ num }) => {
        const testUseCallback = useCallback(() => {
           console.log(num)
        }, [num])
        
        /*
          第一次为false,后面每3s输出一次,为true;每次点击按钮改变num值后输出一次false,后续输出为true
        */
        console.log(fn === testUseCallback)  
    
        fn = testUseCallback
    
        return <div>子组件</div>
      }
    
      const Parent = () => {
        let timer = useRef(null)
    
        const [count,setCount] = useState(0)
        const [num,setNum] = useState(0)
    
        useEffect(()=>{
          timer.current = setInterval(() => {
            setCount(count + 1)
          },3000)
    
          return clearInterval(timer.current)
        },[]}
        return (
        <div>
          <div onClick={() => setNum(num + 1)}>点击修改num值</div>
          <Child num={num} count={count} />
        </div>)
      }
    
    return <Parent />
    
    render(<App {...config} />, document.querySelector('#app'))
    

    相关文章

      网友评论

          本文标题:react Hooks —— useCallback用法

          本文链接:https://www.haomeiwen.com/subject/dxhogrtx.html