我试图通过响应在前端显示后端数据,但我确实收到了数据,因为当我在控制台的“网络”选项卡中检查响应时,我发现了它们, 现在要在界面上显示此数据,我正在componentDidMount中调用loadData()函数:
componentDidMount() {
this.loadTime();
this.loadOtherData();
}
但是在这两个函数中,我使用的是setTimeOut(),所以如果我不执行setTimeOut,我可以显示,我在渲染中得到null
loadTime() {
const dateList = [];
$('.day').each((index, d) => {
dateList.push(new Date(d.innerText));
});
const displayImputation = {
idMantis: $('#mantis').html(),
dateList: dateList,
userId: 1
};
this.props.store.loadImputation(displayImputation);
setTimeout(() => {
const response = this.props.store.privateImputationData;
for (let i = 0; i < response.length; i += 1) {
const stampToDate = response[i].cra.date;
const o = moment(stampToDate).day();
for (let x = 0; x < $('.App input').length; x += 1) {
if (x === o) {
const input = $('.App input')[x - 1];
input.value = response[i].temps;
}
}
}
}, 500); }
这是一个好习惯还是有其他解决方案?