File size: 404 Bytes
9ada4bc |
1 2 3 4 5 6 7 8 9 10 11 12 |
import { withPointer, effectScheduler } from './hook-engine.mjs';
export function useEffect(cb, depArray) {
withPointer((pointer) => {
const oldDeps = pointer.get();
const hasChanged = !Array.isArray(oldDeps) || depArray.some((dep, i) => !Object.is(dep, oldDeps[i]));
if (hasChanged) {
effectScheduler.queue(cb);
}
pointer.set(depArray);
});
}
|