@antdv/pro-utils
Version:
@antdv/pro-utils
19 lines (18 loc) • 464 B
JavaScript
import { readonly, ref } from "vue";
function isUpdateFc(nextState) {
return typeof nextState === "function";
}
function useState(initialState) {
const state = ref(typeof initialState === "function" ? initialState() : initialState);
const setState = (newState) => {
if (isUpdateFc(newState)) {
state.value = newState(state.value);
} else {
state.value = newState;
}
};
return [readonly(state), setState];
}
export {
useState
};