2016-03-28 28 views
1

我正在通過數組進行映射,我想根據該元素是否存儲在用戶配置文件中來設置背景顏色,但我在設置背景顏色時遇到了問題,而我會得到這個錯誤。 '不變違規:style prop需要從樣式屬性到值的映射,而不是字符串。例如,使用JSX時,style = {{marginRight:spacing +'em'}}。這DOM節點被AddingHabit如何在HTML中設計React組件

呈現
 <div>{this.renderHabits().map((habitObject)=>{ 
       return (<div className="addingHabitPic habitpics" key={habitObject.imageLink} id="picplusdiv"> <img src={habitObject.imageLink} height="288" width="197"/> <div style="background-color:black" className="testdiv">Where is text?</div></div>) 
      })} 
     </div> 

黑將後一個變量來代替,但是這僅僅是得到它的工作。我試過style = {{background-color:black}},因爲錯誤提示但沒有運氣。這是使用與流星的反應。

回答

2

你幾乎可以得到它,只是在做這個映射時你必須使用稍微不同的語法。而不是破折號的樣式,你必須使用camelCase(同樣,你寫下了black,但這是一個未定義的變量,所以你需要一個字符串'black')。以下將工作:

{{ backgroundColor: 'black' }} 

你可以應用相同的邏輯幾乎所有其他的CSS樣式。

+0

謝謝你的兄弟你搖滾。我會在8分鐘內將您標記爲正確答案。 – ChrisWilson

2

Read the docs!

這種情況在React文檔中有介紹。

var divStyle = { 
    backgroundColor: 'black', 
}; 

,並在渲染調用做<div style = {divStyle}>:在一個對象,你必須 - 你不能傳遞一個字符串到styles道具。

+0

謝謝你,將來會做。 – ChrisWilson