2017-02-19 76 views
-1

如何在點擊的按鈕上添加課程?我是否需要把它變成一個類,或者我可以在常量上添加一個狀態?我試圖做一個handleclick函數,但我似乎無法在常量上觸發initialstate如何在單擊按鈕上添加課程?

const CaseListItem = ({ currentCase, onCaseSelect }) => { 
console.log(currentCase); 
    return (
    <div> 
    <button onClick={() => onCaseSelect(currentCase)} className={currentCase.color} /> 
    <div className="media-heading"> {currentCase.title} </div> 
    </div> 
); 
}; 

回答

1

我認爲在這種情況下,你應該使用成分與國家和更新點擊狀態顏色名稱屬性 - 這將重新渲染您的組件,你將能夠使用狀態屬性格式的類名。你也可以保持這個組件無狀態,但是在這種情況下,父組件應該有一個狀態,當點擊子組件(CaseListItem),然後你可以將狀態顏色屬性作爲prop傳遞到CaseListItem組件

+0

他說了什麼。只需要一個狀態值,一個表示類名的值(最初爲空)或一個表示按鈕是否被點擊的布爾值等等。然後在渲染函數中,在className值中,可以有一個基於狀態值應用該類的三元運算符(例如,如果將它作爲特定值存儲,「如果state值爲null,則返回」「,否則返回{this.state.className}'的元素的className值 – Jayce444

+0

我試着做它的一類,但得到錯誤的色調 類CaseListItem擴展組件{ 渲染(){ 回報(

) ; } } –

+0

是否更好做一個動作呢? –