@nlabs/arkhamjs-utils-react
Version:
ArkhamJS React Utilities
3 lines (2 loc) • 2.31 kB
JavaScript
import{isEqual as f}from"@nlabs/utils";import{useContext as l,useEffect as c,useRef as i,useState as m}from"react";import{FluxContext as x}from"./FluxContext";const d=(u,r)=>{const{flux:n,state:s}=l(x),e=i(null),t=n?.getState(u,r),[o,a]=m(t);return c(()=>{f(t,e.current)||(e.current=t,a(t))},[s]),o};export{d as useFluxState};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3VzZUZsdXhTdGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7aXNFcXVhbH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7dXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7Rmx1eENvbnRleHR9IGZyb20gJy4vRmx1eENvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgdXNlRmx1eFN0YXRlID0gKGtleTogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86IGFueSk6IGFueSA9PiB7XG4gIGNvbnN0IHtmbHV4LCBzdGF0ZX0gPSB1c2VDb250ZXh0KEZsdXhDb250ZXh0KTtcbiAgY29uc3QgcmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2YWx1ZSA9IGZsdXg/LmdldFN0YXRlKGtleSwgZGVmYXVsdFZhbHVlKTtcbiAgY29uc3QgW3VwZGF0ZWRWYWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUodmFsdWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYoIWlzRXF1YWwodmFsdWUsIHJlZi5jdXJyZW50KSkge1xuICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH0sIFtzdGF0ZV0pO1xuXG4gIHJldHVybiB1cGRhdGVkVmFsdWU7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxXQUFBQSxNQUFjLGVBQ3RCLE9BQVEsY0FBQUMsRUFBWSxhQUFBQyxFQUFXLFVBQUFDLEVBQVEsWUFBQUMsTUFBZSxRQUV0RCxPQUFRLGVBQUFDLE1BQWtCLGdCQUVuQixNQUFNQyxFQUFlLENBQUNDLEVBQXdCQyxJQUE0QixDQUMvRSxLQUFNLENBQUMsS0FBQUMsRUFBTSxNQUFBQyxDQUFLLEVBQUlULEVBQVdJLENBQVcsRUFDdENNLEVBQU1SLEVBQU8sSUFBSSxFQUNqQlMsRUFBUUgsR0FBTSxTQUFTRixFQUFLQyxDQUFZLEVBQ3hDLENBQUNLLEVBQWNDLENBQVEsRUFBSVYsRUFBU1EsQ0FBSyxFQUUvQyxPQUFBVixFQUFVLElBQU0sQ0FDVkYsRUFBUVksRUFBT0QsRUFBSSxPQUFPLElBQzVCQSxFQUFJLFFBQVVDLEVBQ2RFLEVBQVNGLENBQUssRUFFbEIsRUFBRyxDQUFDRixDQUFLLENBQUMsRUFFSEcsQ0FDVCIsCiAgIm5hbWVzIjogWyJpc0VxdWFsIiwgInVzZUNvbnRleHQiLCAidXNlRWZmZWN0IiwgInVzZVJlZiIsICJ1c2VTdGF0ZSIsICJGbHV4Q29udGV4dCIsICJ1c2VGbHV4U3RhdGUiLCAia2V5IiwgImRlZmF1bHRWYWx1ZSIsICJmbHV4IiwgInN0YXRlIiwgInJlZiIsICJ2YWx1ZSIsICJ1cGRhdGVkVmFsdWUiLCAic2V0VmFsdWUiXQp9Cg==