useUpdateEffect
useUpdateEffect用法等同于useEffect,但是会忽略首次执行,只在依赖更新时执行。 场景:不想在首次渲染时就执行effect,比如搜索时,只在keyword变化时才调用search方法。
源码实现
import React, {useEffect, useRef} from 'react';
const useUpdateEffect = (effect: React.EffectCallback, deps: React.DependemcyList)=>{
let isFirst = useRef(true);
useEffect(()=>{
if(isFirst.current){
isFirst.current = false;
return;
}
return effect();
},[deps])
}