Запишите следующий компонент DataTable
import React, {useEffect, useState} from "react";
import MUIDataTable from "mui-datatables";
import axios from 'axios';
function DataTable() {
const [posts, setPost] = useState([]);
const [isLoading, setIsLoading] = useState(false);
let signal = axios.CancelToken.source();
useEffect(() => {
setIsLoading(true);
let isSubscribed = true;
axios.get(`https://jsonplaceholder.typicode.com/posts`, {
cancelToken: signal.token,
})
.then(res => {
const posts = res.data;
setPost(posts);
setIsLoading(false);
}).catch(err => {
setIsLoading(false);
console.log(err);
});
return function cleanup() {
isSubscribed = false;
signal.cancel('Api is being canceled');
}
}, []);
const columns = ["id", "title", "body"];
const options = {
filterType: "dropdown",
responsive: "scroll"
};
return (
<MUIDataTable
title={"Posts"}
data={posts}
columns={columns}
options={options}
/>
);
}
export default DataTable;
и используйте компонент DataTable в приложении. js
import React from "react";
import ReactDOM from 'react-dom';
import DataTable from "./DataTable";
class App extends React.Component {
render() {
return (
<DataTable/>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
export default App;