UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

20 lines (19 loc) 560 B
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 };