如何在React上切换css类

时间:2018-04-29 16:38:55

标签: javascript reactjs

学习React并尝试在单击组件中的元素时简单地在body标签上切换css类。我似乎无法找到一个如何做到这一点的好例子。

以下是使用Jquery的方法。

function initNav() {
$(".hmbWrapper").click(function() {
    $('body').toggleClass('mobileNavActive');
});
}

React的正确方法是什么?

4 个答案:

答案 0 :(得分:1)

假设<div id="test">something</div>文件中有index.html,您可以执行此类操作。

class App extends Component {
  toggleClass = () => {
    const oldClassName = document.getElementById('test').className;
    const newClassName = oldClassName === 'red' ? 'blue' : 'red'
    document.getElementById('test').className = newClassName
  }

  render() {
    return (
      <div>
        <p>
          click toggle to change colors below
        </p>
        <button onClick={this.toggleClass}>toggle</button>
      </div>
    );
  }
}

工作示例here

答案 1 :(得分:0)

如果切换元素不是React的一部分,您可以使用纯javascript以旧方式执行此操作。

Add Framework Support

答案 2 :(得分:0)

CheckBox.IsChecked

答案 3 :(得分:0)

const myComponent = () => {
    [state, setState] = useState('red');
    const colorHandler = () => {
        setState(state === 'red' ? 'blue' : 'red');
    }
    return (<button onClick={colorHandler}>toggle</button>);
}