dreamstate
Version:
Store management library based on react context and observers
1 lines • 558 B
JavaScript
import{useMemo as e,useEffect as r,createElement as t}from"react";import{useForceUpdate as i}from"../../utils/useForceUpdate.js";function n(n){var a=n.children,T=n.initialState,o=n.dependencies,N=n.ManagerClass,c=n.scope,s=i();return e((function(){c.INTERNAL.registerManager(N,T)}),o),r((function(){var e=c.INTERNAL.registerManager(N,T);return c.INTERNAL.addServiceObserver(N,s),e&&s(),function(){c.INTERNAL.removeServiceObserver(N,s)}}),o),t(N.REACT_CONTEXT.Provider,{value:c.INTERNAL.REGISTRY.CONTEXT_STATES_REGISTRY.get(N)},a)}export{n as ScopedProvider};