javascript - 三元运算符不适用于 this.state React js

标签 javascript css reactjs jsx

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

但是它无法工作。

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

我要更改的是我的 header className={this.state.toggleHeader}

我这样做不对吗?

console log 改变一次后一直返回“headerSmall”。

固定

我用这段代码来修复它... 添加了“isHeaderBig”状态,我也在切换它。似乎是双倍的工作,但是。

切换页眉(){ var newState = (this.state.isHeaderBig ? "headerSmall": "headerBig"); this.setState({ toggleHeader:新状态, isHeaderBig: !this.state.isHeaderBig }) }

最佳答案

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

})

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

关于javascript - 三元运算符不适用于 this.state React js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44487290/

相关文章:

javascript - HTML 不渲染 JS 中给出的标签位置

javascript - NodeJS 提交时无响应

html - 对齐 + 和 - 用于购物篮增量器

jquery - jQM 复选框,如何改变状态?

javascript在asp.net mvc中打印div内容

JavaScript : Uncaught SyntaxError: Unexpected token <

javascript - 仅当 JS 直接链接在 <body> 下方和 </body> 上方时,div 的垂直居中才有效?

javascript - 同一组件中的包装提供程序抛出元素类型无效 : expected a string (for built-in components) or a class/function but got: object

javascript - 显示来自 fetch API 调用 Node/React 的图像

javascript - 关于我在星球大战应用程序中遇到的问题