UNPKG

@modern-kit/react

Version:
1 lines 1.13 kB
{"version":3,"file":"index.mjs","sources":["../../../src/hooks/useAsyncEffect/index.ts"],"sourcesContent":["import { DependencyList, useEffect } from 'react';\n\n/**\n * @description 비동기 함수를 `useEffect`와 함께 사용하기 위한 커스텀 훅입니다.\n *\n * @param {() => Promise<void>} effectCallback - 실행할 비동기 함수입니다.\n * @param {DependencyList} deps - effect를 다시 실행 할 의존성 배열입니다.\n *\n * @returns {void}\n *\n * @example\n * useAsyncEffect(async () => {\n * const data = await fetchData();\n * setData(data);\n * }, deps);\n */\nexport function useAsyncEffect(\n effectCallback: () => Promise<void>,\n deps: DependencyList = []\n): void {\n useEffect(() => {\n const execute = async () => {\n await effectCallback();\n };\n\n execute();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n"],"names":[],"mappings":";;AAgBO,SAAS,cAAA,CACd,cAAA,EACA,IAAA,GAAuB,EAAC,EAClB;AACN,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,YAAY;AAC1B,MAAA,MAAM,cAAA,EAAe;AAAA,IACvB,CAAA;AAEA,IAAA,OAAA,EAAQ;AAAA,EAEV,GAAG,IAAI,CAAA;AACT;;;;"}