Я пытаюсь отобразить данные из локального API на веб-интерфейсе React.js.
Он отображает пустую таблицу только с заголовками таблицы, но без записей в таблице.JSON поступает из API, как будто я console.log (this.state.cards) регистрирует массивы в командной строке.
Любая помощь приветствуется!
Спасибо!
import React, { Component } from 'react';
import '../css/card.css';
import Card from './Card';
import CardTable from './CardTable.js';
import request from 'request';
class TopCards extends Component {
constructor() {
super();
this.state = {
cards: [],
};
}
componentDidMount() {
const url = "http://localhost:1200";
request({
url: url,
json: true
}, (error, response, body) => {
if (!error && response.statusCode === 200) {
for (let i in body) {
this.state.cards.push(body[i]);
}
}
})
}
render() {
if(this.state.cards) {
var cardList = this.state.cards.map(function(card){
return(
<CardTable key={card.cardName} card={card} />
);
});
}
return (
<div className="TopCards">
<h1>Top Cards This Week:</h1>
<br />
<table width="400">
<tr>
<th>Name</th>
<th>Count</th>
<th>Wins</th>
<th>Losses</th>
<th>Win %</th>
</tr>
{cardList}
</table>
</div>
)
}
}
export default TopCards;