試圖改變我的標題背景顏色(開始,最終我會改變更多的風格。)通過點擊。三元運算符不爲這個狀態工作js
但是它無法工作。
toggleHeader(){
var newState;
newState = "headerBig" ? "headerSmall" : "headerBig";
this.setState({
toggleHeader: newState
})
}
我試圖改變的是我的頭的className = {} this.state.toggleHeader
難道我不這樣做對嗎?
控制檯日誌在其更改一次後會一直返回「headerSmall」。
固定
我用這個代碼來解決它...... 補充說:「isHeaderBig」的狀態,我切換這一點。似乎是工作的兩倍,但是。
toggleHeader(){ var newState = (this.state.isHeaderBig ? "headerSmall" : "headerBig"); this.setState({ toggleHeader: newState, isHeaderBig: !this.state.isHeaderBig }) }
你正在測試一個字符串,而不是一個變量。 –
「headerBig」是truthy ... –
謝謝,我現在看到我的不喜歡的方式。 :( – ELI7VH