UNPKG

@antdv/pro-utils

Version:

@antdv/pro-utils

31 lines (30 loc) 544 B
import { onMounted, onUnmounted, onUpdated, ref, watch } from "vue"; function useEffect(setup, dependencies) { const cleanupRef = ref(null); const runEffect = () => { if (cleanupRef.value) { cleanupRef.value(); } cleanupRef.value = setup(); }; onMounted(runEffect); if (dependencies) { watch(dependencies, runEffect); } else if (dependencies === void 0) { onUpdated(runEffect); } onUnmounted(() => { if (cleanupRef.value) { cleanupRef.value(); } }); } export { useEffect };