@supunlakmal/hooks
Version:
A collection of reusable React hooks
19 lines • 683 B
JavaScript
import { useState, useCallback } from 'react';
export function useMapState(initialState = {}) {
const [state, setState] = useState(initialState);
const set = useCallback((key, value) => {
setState((prev) => (Object.assign(Object.assign({}, prev), { [key]: value })));
}, []);
const remove = useCallback((key) => {
setState((prev) => {
const newState = Object.assign({}, prev);
delete newState[key];
return newState;
});
}, []);
const reset = useCallback(() => {
setState(initialState);
}, [initialState]);
return [state, set, remove, reset];
}
//# sourceMappingURL=useMapState.js.map