javascript - 如何在 React 上切换 css 类

标签 javascript reactjs

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

这是我使用 Jquery 的方法。

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

React 中正确的方法是什么?

最佳答案

你可以这样做,假设你有 <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 .

关于javascript - 如何在 React 上切换 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088970/

相关文章:

reactjs - 使用 RouteComponentProps 和自定义 Prop 对路由使用react

javascript - 更改语音使用语音识别合成语音

javascript - axios删除调用返回405,我尝试使用id删除节点,但它没有删除

javascript - 错误 : . post() 需要回调函数但得到一个 [object Undefined] 不工作

javascript - React - 在 child 中设置状态?

html - 隐藏动态生成的 border-top 属性 <td>

javascript - 如何将参数传递给函数而不被调用javascript?

javascript - Bootstrap 4 旋转木马 : Individual data-interval on each slide

javascript - 如何包装 React Router v4 的 NavLink 组件?

javascript - 使用 es6 的 map 对意外标记使用react