usehooks-ts
Version:
React hook library, ready to use, written in Typescript.
30 lines • 1.01 kB
JavaScript
import { useCallback, useState } from 'react';
function useMap(initialState) {
if (initialState === void 0) { initialState = new Map(); }
var _a = useState(new Map(initialState)), map = _a[0], setMap = _a[1];
var actions = {
set: useCallback(function (key, value) {
setMap(function (prev) {
var copy = new Map(prev);
copy.set(key, value);
return copy;
});
}, []),
setAll: useCallback(function (entries) {
setMap(function () { return new Map(entries); });
}, []),
remove: useCallback(function (key) {
setMap(function (prev) {
var copy = new Map(prev);
copy.delete(key);
return copy;
});
}, []),
reset: useCallback(function () {
setMap(function () { return new Map(); });
}, []),
};
return [map, actions];
}
export default useMap;
//# sourceMappingURL=useMap.js.map