UNPKG

@hitachivantara/uikit-react-core

Version:
20 lines (19 loc) 667 B
"use strict"; 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;