2017-06-06 77 views
0
render() { 
    var NewsCards = this.state.news.map((b,i)=>{ 
     return(
      <div key={i} className="row"> 
       <div className="col-10"> 
        <img src={b.image} className="img-fluid"/> 
       </div> 
      </div> 
     ) 
    }) 
    return (
     <div className="container-fluid global-container-bottom-padding"> 
      {RenderIf(this.state.loading)(
      <div id="cssload-pgloading"> 
       <div className="cssload-loadingwrap"> 
        <ul className="cssload-bokeh"> 
         <li></li> 
         <li></li> 
         <li></li> 
         <li></li> 
        </ul> 
       </div> 
      </div> 
      )} 
      {RenderIf(!this.state.loading)(
       { NewsCards } 
      )} 
     </div> 
    ); 
} 

不太清楚我在哪裏出錯了。循環陣列:ReactJS對象作爲React子項無效

編輯:

this.state.news是對象

[ 
    { 
     "image":"imgurl", 
     "link":"imglink" 
    }, 
    { 
     "image":"imgurl", 
     "link":"imglink" 
    } 
] 
+0

什麼類型的變量是'news'?你能提供示例結構嗎? – kudlajz

+0

我編輯了這篇文章,請參閱上文 –

回答

3

的陣列中的問題就在這裏,因爲你錯誤地使用object property shorthand syntax創建一個對象字面與NewsCard領域:

{RenderIf(!this.state.loading)(
    { NewsCards } 
)} 

請將您的代碼更改爲:

!this.state.loading && 
<div> 
    {NewsCards} 
</div> 

{RenderIf(!this.state.loading)(
    <div>{NewsCards}</div> 
)} 

作爲存在用於準備片段沒有支持的是,至少前陣營16.