尝试通过单击更改标题的背景颜色(首先,最终我会使用样式进行更多更改。)。

但是它无法工作。

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 }) }

最佳答案

toggleHeader(){
var newState;
newState = this.state.toggleHeader === "headerBig" ? "headerSmall" : "headerBig";
this.setState({
toggleHeader: newState


})

这是正确的方法,“ headerBig”始终为真

10-07 15:35