render(){
if(this.state.loading){
return <Loading/>;
}else{
let [header={},bodyHtml='']=[this.state.articleDetail.header];
bodyHtml=this.state.articleDetail.body.content.map(function (item1,index1) {
bodyHtml+=<h4>{item1.firstTitle}</h4>;
item1.firstTitleDes.map(function (item2,index2) {
bodyHtml+=<h6>{item2.secondTitle}</h6>;
item2.secondTitleDes.map(function (item3,index3) {
bodyHtml+=<p>{item3.describle}</p>;
bodyHtml+=<pre><code className={item3.codeType}>{item3.code}</code></pre>;
});
});
return (bodyHtml);
});
return (
<div>
<Head/>
<div className="container">
<header className="aticle-header">
<h2>{header.title}</h2>
<p>发表于 {header.date} | in <Link to="/">{header.type}</Link></p>
</header>
<article className="aticle-body">{bodyHtml}</article>
</div>
</div>
);
}
}
感觉要么就是你把处理数据的这部分代码放到别的地方去做,要么就是重构逻辑,减少循环嵌套。