UNPKG

vue-hooks-plus

Version:
14 lines (13 loc) 465 B
import { watch } from "vue"; const diffTwoDeps = (deps1, deps2) => { return deps1 ? deps1.map((_ele, idx) => deps1[idx] !== (deps2 == null ? void 0 : deps2[idx]) ? idx : -1).filter((ele) => ele >= 0) : deps2 ? deps2.map((_ele, idx) => idx) : []; }; const useTrackedEffect = (effect, deps) => { watch(deps != null ? deps : [], (curr, prev) => { const changes = diffTwoDeps(prev, curr); effect(changes); }); }; export { useTrackedEffect as default };