在我的项目中,我们使用promises从DB获取数据。在返回数据之前,renderView()方法被多次调用。在这个过程中,根据下面的代码,否则部分在renderView方法循环中显示和消失。在这个renderView方法中,我们检查了if(recordsArray.length > 0)
render view of records
else
display that records are not there
在if条件下,在几个循环中,recordsArray长度为0,并且在几个循环之后,recordsArray被填充。
有没有办法在recordsArray填充后调用renderView?
答案 0 :(得分:0)
我同意@Ortho Home Defense的评论,如果我们没有看到完整或相关的代码,我们可以为您提供很多帮助。但据我所知,如果你不想多次调用你的renderView函数,你需要以某种方式检查你的数据,然后调用它。这意味着你的逻辑变化如:
render() {
return (
<div>{recordsArray.length && renderView()}</div>
);
}
renderView = () { ...render data }
像这样,在填充数据之前不会呈现任何内容。如果你想展示一些东西,你可以使用三元运算符。
render() {
return (
<div>{!recordsArray.length ? <p>No data</p> : renderView()}</div>
);
}