我是React的新成員,我必須從API獲取數據並將其顯示在表中。我使用React Table來顯示錶格中的數據。如何實現以上?目前我沒有看到谷歌Chrome開發人員控制檯中的服務器響應。 React Table實現使用本地數據,但是從API填充表不起作用。 我的代碼如下:如何使用React Table和Axios進行API調用並將其顯示在React JS中?
class TableExp extends React.Component {
constructor() {
super();
this.state = {
tableData: {
resourceID: '',
resourceType: '',
tenantName: '',
dealerID: '',
status: '',
logFilePath: '',
supportPerson: '',
lastUpdatedTime: '',
},
};
}
componentDidMount() {
axios.get(`https://myAPI.restdb.io/rest/mock-data`, {
headers: {'x-apikey': 'apiKEY'}
})
.then(response => {
this.setState({ tableData: response.data.tableData });
//console.log(tableData);
});}
render() {
const { tableData } = this.state;
return (
<div>
<ReactTable
data={tableData}
columns={[
{
Header: 'Details',
columns: [
{
Header: 'Tenant Name',
accessor: '{this.state.tableData.tenantName}',
},
{
Header: 'Support Engineer',
id: '{this.state.tableData.supportEngineer}',
accessor: d => d.supportPerson,
},
],
},
{
Header: 'Info',
columns: [
{
Header: 'Dealer ID',
accessor:'{this.state.tableData.dealerID}',
},
{
Header: 'Status',
accessor:'{this.state.tableData.status}',
},
],
},
{
Header: 'Logs',
columns: [
{
Header: 'File Path',
accessor:'{this.state.tableData.filePath}',
},
],
},
]}
defaultPageSize={10}
className="-striped -highlight"
/>
</div>
);
}
}
export default TableExp;
當你console.log(response)''時它會記錄什麼? – bennygenel
> app.js:139699 Uncaught錯誤:模塊構建失敗:SyntaxError:相鄰的JSX元素必須封裝在封閉標記中(100:8) > /src/components/dashboard/tableSupport/tableExp.js 模塊構建失敗: SyntaxError:相鄰的JSX元素必須封裝在封閉標籤(100:8)中 – SeaWarrior404
@ SeaWarrior404,'console.log(response)',而不是'console.log(tableData);' – Andrew