javascript - 如何使用 React 在单击时切换类?

标签 javascript reactjs

我想弄清楚如何在单击时切换事件类以更改 CSS 属性。

我的代码如下。谁能建议我该怎么做?是否可以在不为每个项目创建新组件的情况下执行此操作?

class Test extends Component(){

    constructor(props) {
  
    super(props);
    this.addActiveClass= this.addActiveClass.bind(this);
  
  }
  
  addActiveClass() {
    
    //not sure what to do here
    
  }

    render() {
    <div>
      <div onClick={this.addActiveClass}>
        <p>1</p>
      </div>
      <div onClick={this.addActiveClass}>
        <p>2</p>
      </div>
        <div onClick={this.addActiveClass}>
        <p>3</p>
      </div>
    </div>
  }

}

最佳答案

使用状态。查看React docs .

class MyComponent extends Component {
    constructor(props) {
        super(props);
        this.addActiveClass= this.addActiveClass.bind(this);
        this.state = {
            active: false,
        };
    }
    toggleClass() {
        const currentState = this.state.active;
        this.setState({ active: !currentState });
    };

    render() {
        return (
            <div 
                className={this.state.active ? 'your_className': null} 
                onClick={this.toggleClass} 
            >
                <p>{this.props.text}</p>
            </div>
        )
  }
}

class Test extends Component {
    render() {
        return (
            <div>
                <MyComponent text={'1'} />
                <MyComponent text={'2'} />
            </div>
        );
    }
}

关于javascript - 如何使用 React 在单击时切换类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42630473/

相关文章:

javascript - 根据点数更改簇半径

javascript - Spring MVC Js 和 css 不加载

javascript - React,react.children + react.cloneElement 在使用扩展运算符时中断

reactjs - React 尝试使用 .map 将来自多个 API 的数据填充到同一个映射容器中

javascript - ReactJS.NET MVC 教程不起作用?

javascript - 使用 Controller 更新数据时,angularJS $watch 在指令中不起作用

javascript - onclick 选择选项标签奇怪地触发事件而不点击选项

javascript - 如何在javascript中将参数附加到给定的url?

reactjs - 如何从继承类覆盖 React.Component 状态类型?

javascript - 安装Mixpanel SDK的问题-React Native