@aplus-frontend/antdv
Version:
Vue basic component library maintained based on ant-design-vue
18 lines (17 loc) • 508 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useSyncState;
var _vue = require("vue");
function useSyncState(defaultState, onChange) {
const stateRef = (0, _vue.ref)(defaultState);
function setState(updater) {
const newValue = typeof updater === 'function' ? updater(stateRef.value) : updater;
if (newValue !== stateRef.value) {
onChange(newValue, stateRef.value);
}
stateRef.value = newValue;
}
return [stateRef, setState];
}
;