@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
20 lines (19 loc) • 667 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const React = require("react");
function useSavedState(defaultState) {
const [initialState] = React.useState(defaultState);
const [state, setState] = React.useState(initialState);
const [submittedState, setSubmittedState] = React.useState(
initialState
);
const changeState = React.useCallback((value, save = false) => {
setState(value);
if (save) setSubmittedState(value);
}, []);
const rollback = () => {
setState(submittedState);
};
return [state, changeState, rollback, submittedState, initialState];
}
exports.useSavedState = useSavedState;