UNPKG

@raulpesilva/re-state

Version:

easy way to create a shared state to the entire application

28 lines (21 loc) 758 B
"use strict"; 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; }; }