@raulpesilva/re-state
Version:
easy way to create a shared state to the entire application
28 lines (21 loc) • 758 B
JavaScript
exports.__esModule = true;
exports.createReStateSelect = createReStateSelect;
var _react = require("react");
var _store = require("./store");
var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
function createReStateSelect(key) {
return function useReStateSelect() {
var _useState = (0, _react.useState)(_store.store.get(key)),
reStateValue = _useState[0],
setReStateValue = _useState[1];
(0, _react.useDebugValue)(reStateValue);
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
var unSub = _store.store.subscribe(key, function () {
setReStateValue(_store.store.get(key));
});
return unSub;
}, [key]);
return reStateValue;
};
}
;