opendash
Version:
open.DASH data visualization framework
20 lines • 729 B
JavaScript
import * as React from "react";
import { useOpenDashApp, useForceRender } from "..";
export function useAppState(selector) {
var app = useOpenDashApp();
var forceRender = useForceRender();
var selectorRef = React.useRef(null);
var valueRef = React.useRef(null);
selectorRef.current = selector;
React.useEffect(function () {
return app.state.subscribe(function () {
var currentValue = app.state.select(selectorRef.current);
if (valueRef.current !== currentValue) {
forceRender();
}
});
}, []);
valueRef.current = app.state.select(selector);
return valueRef.current;
}
//# sourceMappingURL=useAppState.js.map