@reffect/react
Version:
React bindings for Reffect
3 lines (2 loc) • 583 B
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@reffect/core");const r="undefined"==typeof window?e.useEffect:e.useLayoutEffect,n=(e,t)=>({...t});exports.useEffectState=n=>{const[u,s]=e.useState(null);return r(()=>{let e=!0;const r=t.manage(n).subscribe(t=>e&&s(t));return()=>{e=!1,r()}},[]),{pending:"pending"===u,fail:"fail"===u,done:"done"===u}},exports.useStore=u=>{const[s,o]=e.useReducer(n,u);return r(()=>{let e=!0;const r=t.manage(u).subscribe(()=>e&&o(u));return()=>{e=!1,r()}},[]),s};
//# sourceMappingURL=reffect-react.cjs.js.map