javascript - 如何在 ReactJS 中的事件上添加或删除类名?

标签 javascript node.js reactjs

我对 React 还是很陌生,我在将我的想法从标准 js 转换过来时有点挣扎。

在我的 react 组件中,我有以下元素:

<div className='base-state' onClick={this.handleClick}>click here</div>

我正在寻找的行为是在点击时添加一个额外的类。我的第一个想法是尝试在点击处理函数中添加类,例如

handleClick : function(e) {
   <add class "click-state" here>
}

我还没有找到任何类似的例子,所以我很确定我没有以正确的方式思考这个问题。

谁能指出我正确的方向?

最佳答案

类列表可以从组件的状态派生。例如:

var Component = React.createClass({
  getInitialState: function() {
    return {
      clicked: false
    };
  },

  handleClick: function() {
    this.setState({clicked: true});
  },

  render: function() {
    var className = this.state.clicked ? 'click-state' : 'base-state';
    return <div className={className} onClick={this.handleClick}>click here</div>;
  }
});

调用this.setState将触发组件的重新渲染。

关于javascript - 如何在 ReactJS 中的事件上添加或删除类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28732253/

相关文章:

reactjs - 如何设置 babelrc 文件以及为什么?

javascript - 地理定位 API 不适用于移动设备

javascript - 从 Firefox 附加组件打开 html 页面的最佳方式是什么

javascript - 如何在 javaScript 中获得所有奇数斐波那契值的总和?

node.js - NodeJS中如何防止请求url向上?

javascript - readFileSync 与在带有异步/等待的 readFile 之上使用 promisify 之间的区别

javascript - 当对象在多个其他对象中时,console.log 返回 [Object]

reactjs - 使用react-beautiful-dnd获取DragHandle错误

javascript - Date.parse() 与 moment().unix()

c# - 通过 Ajax 将复杂对象发布到 MVC