javascript - 在 React 的样式类中包含条件

标签 javascript reactjs

我正在尝试使用 React 更改悬停时 div 的背景颜色(但是,我不想为此创建一个全新的类)。我认识到我的语法不正确,但我找不到“正确”的方法来执行此操作。这是我的代码笔:

http://codepen.io/grapefruit0/pen/pRyOGG?editors=1010

在第 37-42 行,您将看到以下代码片段:

{
  if (hover){
      backgroundColor: "#b3ffff",

  }else{
      backgroundColor: "#b30000",
  }
}

其中悬停定义如下:

getInitialState(){
  return {hover: false};
}

mouseOver(){
  this.setState({hover: true});
}

mouseOut(){
  this.setState({hover: false});
}

有正确的方法吗?

最佳答案

您可以使用conditional (ternary) operator :

const boxStyle = {
      margin: 5,
      width: 30,
      height: 30,
      backgroundColor: this.state.hover ? "#b3ffff" : "#b30000",
      display: "inline-block",
      textAlign: "center"
}

但我认为在这种情况下最好的方法是仅使用 CSS 伪类 :hover

关于javascript - 在 React 的样式类中包含条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41617496/

相关文章:

javascript - 编写新文本时更改文本框文本的颜色

javascript - React 16 Modal 表单更新操作

javascript - 为什么我的 React 组件图标显示为 typeof 对象?

javascript - react : Access element's text

javascript - 使用javascript将多个数组迭代为对象

javascript - PubNub 退订会减慢整个 Web 应用程序的速度

javascript - 删除主体上的类不适用于 pagepiling.js

javascript - Angular JS 中的 jQuery 表达式等效项

javascript - 有没有办法在隐藏元素时防止切换输入文本

reactjs - 我的 Webpack 配置有什么问题?