【发布时间】:2017-06-30 01:28:51
【问题描述】:
在我的应用程序中,我从 API 获取内容。我可以显示内容并显示加载器图标,直到内容未加载。但是如果没有任何内容,页面会显示加载器图标,这是意外的。如果根本没有内容,则预期的功能是不显示可用的内容。
render() {
const { logs } = this.state;
if (logs.size === undefined) {
return <div>No Logs</div>;
} else if (isEmpty(logs)) {
return (
<div className="earth-spinning">
<img src={EarthSpinning} alt="spinner" style={{ margin: "0 auto" }} />
</div>
);
} else {
return (
<div>
<h2>Logs</h2>
<button onClick={() => this.props.deleteLogs()}>
Delete All Logs
</button>
<ul className="list-group">
{this.renderLogs()}
{this.state.show ? this.props.dialog : null}
</ul>
</div>
);
}
}
这是我得到的数据
【问题讨论】:
-
什么是
isEmpty,您能否给我们一份来自 API 的内容示例? -
更新了我的问题。 isEmpty 正在检查对象是否为空。
-
@AndrewLi 了解更多详情,可以到以下链接gist.github.com/anonymous/e1dd5e91297108dadcc6e61d3c08a394
-
请注意,将道具存储在您的状态中被认为是一种反模式。最好在将日志作为 props 传递给组件之前将其转换为纯 JS,或者在需要时将其作为纯 JS 执行
-
你能把我提供给你的要点注释掉吗?
标签: javascript reactjs redux immutable.js