ASP.NET과 PHP의 확장성을 가지고 있는 server-side data processing 라이브러리이다.
MongoDB와도 확장이 가능하다.
lode
기능을 구현하여서 datasource
를 통해 데이터를 가져올 수 있다.lode
기능을 구현하여서 데이터 처리 매개변수를 서버로 보낸 후 서버 측에서 응답을 하는 형식으로 데이터를 불러온다.// ...
import CustomStore from 'devextreme/data/custom_store';
import DataSource from 'devextreme/data/data_source';
const store = new CustomStore({
key: 'id',
load: (loadOptions) => { // SELECT
// ...
},
insert: (values) => { // INSERT
// ...
},
update: (key, values) => { // UPDATE
// ...
},
remove: (key) => { // DELETE
// ...
}
});
// ===== or inside the DataSource =====
const dataSource = new DataSource({
// ...
// a mix of CustomStore and DataSource properties
// ...
});
class App extends React.Component {
// ...
}
export default App;
const dataSource = useMemo(() => {
if (rowData) {
dataGridDetailRef.current &&
dataGridDetailRef.current.instance.cancelEditData();
reset({
field: rowData.data.field,
field: rowData.data.field,
field: rowData.data.field,
});
const getApiUrl = `${process.env.REACT_APP_API_URL}/blabla/blabla/${rowData.key}`;
const apiUrl = `${process.env.REACT_APP_API_URL}/blabla/blabla`;
return new CustomStore({
key: "id",
load: () => sendRequest(getApiUrl, "GET"),
insert: (values) =>
sendRequest(apiUrl, "POST", {
...values,
field: watch("field"),
}),
update: (id, values) =>
sendRequest(apiUrl, "PUT", {
id,
values,
field: watch("field"),
}),
remove: (id) =>
sendRequest(apiUrl, "DELETE", { id, field: watch("field") }),
});
} else {
reset({
field: "",
field: "",
field: "",
});
return new CustomStore({
key: "id",
sendRequest
는 직접 만든 모듈이다.