UNPKG

rtk-slice-manager

Version:

Wrap over slice from @reduxjs/toolkit for automatic generation of actions and isolation of effect logic after changing the state of the fields

21 lines (20 loc) 791 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useManager = void 0; const react_1 = require("react"); const react_redux_1 = require("react-redux"); function useManager({ actions, name }) { const dispatch = (0, react_redux_1.useDispatch)(); const params = (0, react_redux_1.useSelector)((state) => state[name]); const handlers = (0, react_1.useMemo)(() => { return Object.keys(actions).reduce((acc, cur) => { const key = cur; const action = actions[key]; return Object.assign(Object.assign({}, acc), { [cur]: (args) => { dispatch(action(args)); } }); }, {}); }, [actions, dispatch]); return [params, handlers]; } exports.useManager = useManager;