UNPKG

@nutui/nutui-react

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

33 lines (32 loc) 840 B
import { useEffect, useRef } from "react"; function useWatch(dep, callback) { var config = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : { immediate: false }; var immediate = config.immediate; var prev = useRef(); var inited = useRef(false); var stop = useRef(false); useEffect(function() { var execute = function() { return callback(prev.current); }; if (!stop.current) { if (!inited.current) { inited.current = true; if (immediate) { execute(); } } else { execute(); } prev.current = dep; } }, [ dep ]); return function() { stop.current = true; }; } export default useWatch;