所以我的 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;
哪个更干净。
关于javascript - 有没有更干净的方法来停止初始加载时的 React 渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873734/