UNPKG

@raulpesilva/re-state

Version:

easy way to create a shared state to the entire application

19 lines (18 loc) 608 B
import { useDebugValue, useState } from 'react'; import { store } from './store'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function createReStateSelect(key) { return function useReStateSelect() { var _useState = useState(store.get(key)), reStateValue = _useState[0], setReStateValue = _useState[1]; useDebugValue(reStateValue); useIsomorphicLayoutEffect(function () { var unSub = store.subscribe(key, function () { setReStateValue(store.get(key)); }); return unSub; }, [key]); return reStateValue; }; }