UNPKG

@nethesis/phone-island

Version:
3 lines (2 loc) 860 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./Context.js"),r=require("../utils/Subscription.js"),o=require("../utils/useIsomorphicLayoutEffect.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(e);exports.default=function({store:s,context:n,children:i,serverState:c}){const a=e.useMemo((()=>{const e=r.createSubscription(s);return{store:s,subscription:e,getServerState:c?()=>c:void 0}}),[s,c]),f=e.useMemo((()=>s.getState()),[s]);o.useIsomorphicLayoutEffect((()=>{const{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),f!==s.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}}),[a,f]);const d=n||t.ReactReduxContext;return u.default.createElement(d.Provider,{value:a},i)}; //# sourceMappingURL=Provider.js.map