@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
43 lines (42 loc) • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
var _react = require("react");
function useWatch(dep, callback) {
var config = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
immediate: false
};
var immediate = config.immediate;
var prev = (0, _react.useRef)();
var inited = (0, _react.useRef)(false);
var stop = (0, _react.useRef)(false);
(0, _react.useEffect)(function() {
var execute = function execute() {
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;
};
}
var _default = useWatch;
;