UNPKG

informed

Version:

A lightweight framework and utility for building powerful forms in React applications

32 lines (26 loc) 700 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); // https://reactjs.org/docs/hooks-faq.html#can-i-run-an-effect-only-on-updates /** * * Acts as a react useEffect that does not run on first render. * * @example * useUpdateEffect(()=>{...}, [foo]) * 1st Render: NO CALL * foo changes: GETS CALLED * */ var useUpdateEffect = function useUpdateEffect(effect, deps) { var firstRef = React.useRef(true); var isFirstMount = firstRef.current; React.useEffect(function () { if (!isFirstMount) { return effect(); } else { firstRef.current = false; } }, deps); }; exports.useUpdateEffect = useUpdateEffect;