У меня есть данные, которые я получаю в состоянии, когда componentDidMount
. Я пытаюсь сделать таблицу, используя эти данные. В моем случае строки не отображаются. Как я могу отправить данные в tbody?Render table при получении данных асинхронно
export default class App extends Component {
constructor(props) {
super(props);
this.state={rows:null}
}
componentDidMount(){
var rows=[]
Meteor.http.call("GET", url ,function(error,result){
$.each(JSON.parse(result.content), function(key, value){
rows.push(value)
});
this.setState({
rows:rows});
})
}
renderRows(){
$.each(this.state.rows, function(d){
return(
<tr>
<td>{d[0]}</td>
<td>{d[1]}</td>
<td>{d[2]}</td>
<td>{d[3]}</td>
</tr>
)
})
}
render(){
return(
<Table>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
</tr>
</thead>
<tbody>
{this.renderRows}
</tbody>
</Table>
)
}
}
ОК, но строки не отображаются. –
@ константинпаляничка обновлен – Khang
строк не рендеринга. Одновременное отображение таблицы, но я получаю данные/заданное состояние от асинхронного обратного вызова - я думаю, что это проблема –