@nodeject/ui-components
Version:
UI library for non-trivial components
20 lines (19 loc) • 800 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useOnDataChanged = void 0;
var react_1 = require("react");
var useOnDataChanged = function (_a) {
var data = _a.data, onDataChangedServer = _a.onDataChangedServer, state = _a.state;
var _b = react_1.useState(true), isDataLoading = _b[0], setIsDataLoading = _b[1];
// After data loaded
react_1.useEffect(function () {
setIsDataLoading(false);
}, []);
// Dispatch onDataChanged in case you need to get the full data object
react_1.useEffect(function () {
if (data && onDataChangedServer && !isDataLoading) {
onDataChangedServer(state);
}
}, [JSON.stringify(state), isDataLoading]);
};
exports.useOnDataChanged = useOnDataChanged;