Custom Backend Service
Intro
Instructions
const Example: React.FC = () => {
const [dataset, setDataset] = useState<any[]>([]);
const [columns, setColumns] = useState<Column[]>([]);
const [options, setOptions] = useState<GridOption | undefined>(undefined);
const [isDataLoaded, setIsDataLoaded] = useState(false);
const graphqlService = new GraphqlService();
useEffect(() => defineGrid(), []);
function defineGrid() {
const gridOptions = {
backendServiceApi: {
service: new YourCustomBackendService(),
options: {
// custom service options that extends "backendServiceOption" interface
},
preProcess: () => !isDataLoaded ? displaySpinner(true) : '',
process: (query, options) => getCountries(query, options),
postProcess: (result) => {
displaySpinner(false);
setIsDataLoaded(true);
}
} as YourCustomBackendServiceApi
};
}
// Note: The second parameter contains the AbortSignal for an optional request cancellation
function getCountries(query: string, options?: { signal?: AbortSignal }) {
return fetch(`/api/countries?${query}`, {
signal: options?.signal // Pass the signal to enable automatic request cancellation
});
}
}Request Cancellation with AbortSignal
Why Cancellation is Important
How It Works
Implementation
Important Notes
Last updated