@nodeject/ui-components
Version:
UI library for non-trivial components
16 lines (15 loc) • 635 B
JavaScript
import { useEffect, useState } from 'react';
export var useOnDataChanged = function (_a) {
var data = _a.data, onDataChangedServer = _a.onDataChangedServer, state = _a.state;
var _b = useState(true), isDataLoading = _b[0], setIsDataLoading = _b[1];
// After data loaded
useEffect(function () {
setIsDataLoading(false);
}, []);
// Dispatch onDataChanged in case you need to get the full data object
useEffect(function () {
if (data && onDataChangedServer && !isDataLoading) {
onDataChangedServer(state);
}
}, [JSON.stringify(state), isDataLoading]);
};