@airplane/views
Version:
A React library for building Airplane views. Views components are optimized in style and functionality to produce internal apps that are easy to build and maintain.
39 lines (38 loc) • 895 B
JavaScript
import { useCallback, useMemo } from "react";
const useStateSetters = (dispatch, initialState) => {
const setValue = useCallback((value) => {
dispatch({
type: "setValue",
value
});
}, [dispatch]);
const setDisabled = useCallback((disabled) => {
dispatch({
type: "setDisabled",
disabled
});
}, [dispatch]);
const setShowErrors = useCallback((showErrors) => {
dispatch({
type: "setShowErrors",
showErrors
});
}, [dispatch]);
const reset = useCallback(() => {
dispatch({
type: "reset",
initialValue: initialState.value,
initialDisabled: initialState.disabled
});
}, [dispatch]);
return useMemo(() => ({
setValue,
setDisabled,
setShowErrors,
reset
}), [setValue, setDisabled, setShowErrors, reset]);
};
export {
useStateSetters
};
//# sourceMappingURL=useStateSetters.js.map