[英]Is there a cleaner way to stop React rendering on initial load?
因此,我的react类会调用json响应,然后进行渲染。
但是按现状,该类将在初始加载时呈现,然后在响应返回时再次呈现。
为了解决这个问题,我必须这样做-
componentDidMount: function() {
axios.get.......
.then(res => {
const jobs = res.data;
this.setState({ jobs });
});
},
render: function () {
if (Object.keys(this.state.jobs).length == 0)
{
}
else {
return (
<div>
{this.state.jobs.data.map(function (ob) {
return <li key={ob.id}>{ob.name}</li>
})}
</div>
)
}
return null;
}
});
有没有更好的方法可以做到这一点? 不使用if语句?
React总是必须在初始加载中进行渲染。 因此,您只需要像以前一样渲染null。 明智的代码,也许你可以写
return this.state.jobs.data ? <YourTemplate /> : null;
比较干净。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.