reactの2つの動的にcssスタイルを変更する方法

2160 ワード

1つ目:classを動的に追加し、ボタンをクリックして文字表示をdemoに隠す
import React, { Component, Fragment } from 'react';
import './style.css';
class Demo extends Component{
    constructor(props) {
        super(props);
        this.state = {
            display: true
        }
        this.handleshow = this.handleshow.bind(this)
        this.handlehide = this.handlehide.bind(this)
    }
    render() {
        return (
            
                {/* class */}
                

) } handleshow() { this.setState({ display:true }) } handlehide() { this.setState({ display:false }) } } export default Demo;

cssコード:
 .active{
      display: block;
  }
  .active1{
    display: none;
  }

2つ目は、styleを動的に追加し、ボタンをクリックしてテキスト表示をdemoに隠す
import React, { Component, Fragment } from 'react';
class Demo extends Component{
    constructor(props) {
        super(props);
        this.state = {
            display2: true
        }
        this.handleshow2 = this.handleshow2.bind(this)
        this.handlehide2 = this.handlehide2.bind(this)
    }
    render() {
        const display2 = {
            display:this.state.display2 ? 'block' : 'none'
        }
        return (
            
                 {/* style */}
                 

) } handleshow2() { this.setState({ display2:true }) } handlehide2() { this.setState({ display2:false }) } } export default Demo;

まとめ:classでcssスタイルを変えると、動的に変化するcss属性を複数書くことができ、乱雑に見えないが、styleで書くと、複数のcss属性を書くと複雑に見える.すべて個人的な観点ですので、不足点を指摘してください.