ant-design-vue
Version:
An enterprise-class UI design language and Vue-based implementation
12 lines • 397 B
JavaScript
import { ref } from 'vue';
export default function useSyncState(defaultState, onChange) {
var stateRef = ref(defaultState);
function setState(updater) {
var newValue = typeof updater === 'function' ? updater(stateRef.value) : updater;
if (newValue !== stateRef.value) {
onChange(newValue, stateRef.value);
}
stateRef.value = newValue;
}
return [stateRef, setState];
}