UNPKG

@modern-kit/react

Version:
1 lines 1.25 kB
{"version":3,"file":"index.mjs","sources":["../../../src/hooks/useDidUpdate/index.ts"],"sourcesContent":["import { DependencyList, useEffect, useRef } from 'react';\n\n/**\n * @description 최초 마운트 시에는 실행되지 않고, 의존성 배열(`deps`)의 값이 업데이트되었을 때만 effect를 실행시키는 커스텀 훅입니다.\n *\n * @param {() => void} effect - 실행할 함수입니다.\n * @param {DependencyList} deps - effect를 다시 실행 할 의존성 배열입니다.\n *\n * @returns {void} void\n *\n * @example\n * useDidUpdate(() => {\n * console.log('deps가 변경되었습니다.');\n * }, deps);\n */\nexport function useDidUpdate(effect: () => void, deps: DependencyList): void {\n const isMounted = useRef(false);\n\n useEffect(() => {\n if (!isMounted.current) {\n isMounted.current = true;\n return;\n }\n\n effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n"],"names":[],"mappings":";;AAeO,SAAS,YAAA,CAAa,QAAoB,IAAA,EAA4B;AAC3E,EAAA,MAAM,SAAA,GAAY,OAAO,KAAK,CAAA;AAE9B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,UAAU,OAAA,EAAS;AACtB,MAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AACpB,MAAA;AAAA,IACF;AAEA,IAAA,MAAA,EAAO;AAAA,EAET,GAAG,IAAI,CAAA;AACT;;;;"}