react-principal
Version:
A state management with react context for apps which using hooks.
25 lines • 900 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStore = void 0;
const react_1 = require("react");
const observe_1 = require("./observe");
/**
* This function give you an store, use that in your components which want to
* connect to store and provider
*/
exports.createStore = ({ reducer, initialState, }) => {
const stateContext = react_1.createContext(initialState, observe_1.calculateChangedBits);
const dispatchContext = react_1.createContext(() => { });
const store = {
stateContext,
dispatchContext,
reducer,
initialState,
useState: (nextObserveState) => {
return observe_1.useContextWithObserve(stateContext, initialState, nextObserveState);
},
useDispatch: () => react_1.useContext(dispatchContext),
};
return store;
};
//# sourceMappingURL=createStore.js.map