Не обновляются данные в React js
не могу уже 2 дня решить проблему генерируется таблица через react но react показывает старые данные подскажите в чем может быть проблема? Вот полный код react
class Table extends React.Component {
constructor(props) {
super(props);
this.state = {data: []}
}
componentDidMount() {
this.data = setInterval(() =>
console.log(this.setState({data})),
this.setState(
fetch('/lk/reports/3/month-ajax')
.then(response => response.json())
.then(data => this.setState({data})))
, 50);
}
componentWillUnmount() {
clearInterval(this.data);
}
activeRow(props) {
if (props.client == 'Общий') {
return 'teal lighten-5';
} else if (props.active) {
if (props.delta_kpi > 0) {
return 'green lighten-5';
} else if (props.delta_kpi < 0) {
return 'red lighten-5';
}
} else {
return '';
}
}
kpiCell(props) {
let line = props.kpi;
if (props.delta_kpi < 0) {
line += ' <span class="red-text quotation-text"><i class="fas fa-long-arrow-alt-down"></i>' + props.delta_kpi + '</span> ';
}
if (props.delta_kpi > 0) {
line += ' <span class="green-text quotation-text"><i class="fas fa-long-arrow-alt-up green-text"></i>' + props.delta_kpi + '</span>';
}
line += ' ' + props.is_expired;
return <td dangerouslySetInnerHTML={{__html: line}}/>;
}
buttonView(props) {
let link;
if (props.client == 'Общий') {
link = '';
} else {
link = "<a href=\"/lk/reports/2/view?client_org_id=" + props.client_org_id
+ "&start_date=" + props.start_date
+ "&end_date=" + props.end_date
+ "&sla_online=month"
+ "\""
+ "class=\"btn-small indigo darken-5 waves-effect waves-light\" target = \"_blank\" >Просмотр</a>"
}
return <td dangerouslySetInnerHTML={{__html: link}}/>;
}
render() {
if (this.state.data.length == 0) {
return (<div className="table-wrapper mt-5 d-flex justify-content-center">
<i className="fas fa-spinner fa-3x fa-fw fa-spin"></i>
</div>);
} else {
return (
<div className="card">
<div className="card-stacked">
<div className="card-content">
<div className="row">
<div className="col-12">
<div className="table-wrapper">
<table className="table highlight responsive-table">
<thead className="teal lighten-4">
<tr>
<th>Клиент</th>
<th>Обработано</th>
<th>В работе</th>
<th>Просрочено</th>
<th>KPI %</th>
<th>Менеджер</th>
<th>{this.state.data.time}</th>
</tr>
</thead>
<tbody>
{this.state.data.kpi.map(item => <tr className={this.activeRow(item)}>
<td>{item.client}</td>
<td>{item.all_incidents}</td>
<td>{item.incidents_in_work}</td>
<td>{item.expired_incidents}</td>
{this.kpiCell(item)}
<td>{item.manager}</td>
{this.buttonView(item)}
</tr>)}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
);
}
}
}