Check out my code here:
class HomePage extends React.Component {
constructor() {
super();
this.state = {
listing: [],
};
}
componentDidMount() {
fetch('https://api.coinmarketcap.com/v2/ticker/?convert=USD&structure=array')
.then(data => {
return data.json();
}).then(data => {
let listing = data.data.map((list) => {
return (
<tr key={list.id}>
<td>{list.id}</td>
<td>{list.rank}</td>
<td>{list.name} </td>
<td>{list.quotes? (list.quotes.USD||{}).price||0 : 0}</td>
<td>{list.symbol}</td>
<td>{list.quotes.USD.volume_24h}</td>
<td>{list.quotes.USD.percent_change_24h}%</td>
</tr>
)
});
this.setState({listing: listing});
console.log("state", this.state.listing);
})
}
render() {
return (
<div>
<div className="jumbotron">
<div className="container">
<h3>Cryptocurrency Statistics</h3>
<br/>
<BootstrapTable data={this.state.listing} striped hover>
<TableHeaderColumn isKey dataField='id'>ID</TableHeaderColumn>
<TableHeaderColumn dataField='name'>Name</TableHeaderColumn>
<TableHeaderColumn dataField='price'>Price</TableHeaderColumn>
<TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
<TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
<TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
</BootstrapTable>
</div>
</div>
</div>
);
}
}
export default HomePage;
I'm using coinmarketcap api. Retrieval works in normal html table but max data is 100 elements in this api. So I want to use pagination tables instead. Please suggest some other solution if this structure won't work.
<BootstrapTable data={this.state.listing} striped hover pagination>