useUpdateLayoutEffect
React layoutEffect hook that ignores the first invocation (e.g. on mount). The signature is exactly the same as the useLayoutEffect
hook
Usage
Live Editor
function Demo() { const [count, setCount] = useState(0); const [layoutEffectCount, setLayoutEffectCount] = useState(0); const [updateLayoutEffectCount, setUpdateLayoutEffectCount] = useState(0); useLayoutEffect(() => { setLayoutEffectCount(c => c + 1); }, [count]); useUpdateLayoutEffect(() => { setUpdateLayoutEffectCount(c => c + 1); return () => { // do something }; }, [count]); // you can include deps array if necessary return ( <div> <p>layoutEffectCount: {layoutEffectCount}</p> <p>updateLayoutEffectCount: {updateLayoutEffectCount}</p> <p> <button type="button" onClick={() => setCount(c => c + 1)}> reRender </button> </p> </div> ); };
Result
Loading...