向父DOM元素React js添加/删除类

Bug*_*ter 5 reactjs

我想在添加/删除按钮的同时从父DOM元素添加/删除类,例如,如果我单击添加类按钮,则它将新的类名称“单击”添加到父div,并在单击删除类按钮时删除该类:

index.html

<div class="main-div">

  <div class="second-div" id="config">
  </div>

</div>
Run Code Online (Sandbox Code Playgroud)

config.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import Main from 'Main';

ReactDOM.render(
    <Main/>,
    document.getElementById('config')
);
Run Code Online (Sandbox Code Playgroud)

Main.jsx

import ReactDOM from 'react-dom'
import React from "react";
import createReactClass from "create-react-class";


export default createReactClass({
    getInitialState() {
        return {
            show-main-div: false
    };
    },

    addClass() {
    // want to add new class on parent DOM element i.e <div class="main-div">
    },

    render: function () {
        return (
            <div>
                <button className="add-class" onClick={() => {this.addClass()}}>
                    Add Class
                </button>
        <button className="remove-class" onClick={() => {this.removeClass()}}>
                    Remove Class
                </button>
            </div>
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

Bho*_*yar 8

分配一个引用并添加/删除所需的类:

addClass() {
    this.divRef.current.classList.add('main-div')
},
removeClass() {
   this.divRef.current.classList.remove('main-div')
}

    render: function () {
        return (
            <div ref={this.divRef}>
                <button className="add-class" onClick={() => {this.addClass()}}>
                    Add Class
                </button>
        <button className="remove-class" onClick={() => {this.removeClass()}}>
                    Remove Class
                </button>
            </div>
        );
    }

// note: you have to create a ref inside the constructor:
this.divRef = React.createRef()
Run Code Online (Sandbox Code Playgroud)