@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
20 lines (19 loc) • 560 B
JavaScript
import { useState, useCallback } from "react";
function useSavedState(defaultState) {
const [initialState] = useState(defaultState);
const [state, setState] = useState(initialState);
const [submittedState, setSubmittedState] = useState(
initialState
);
const changeState = useCallback((value, save = false) => {
setState(value);
if (save) setSubmittedState(value);
}, []);
const rollback = () => {
setState(submittedState);
};
return [state, changeState, rollback, submittedState, initialState];
}
export {
useSavedState
};