react 怎麼改變css樣式

2022-12-30 14:00:47
react改變css樣式的方法:1、動態新增一個class來改變樣式,程式碼如「<p className={this.state.display?"active":"active1"}></p>」;2、動態新增一個style來改變樣式,程式碼如「<p style={display2}></p>」。

本教學操作環境:Windows10系統、react18.0.0版、Dell G3電腦。

react 怎麼改變css樣式?

react的兩種動態改變css樣式的方法

第一種:動態新增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 (
            <Fragment>
                {/*動態新增一個class來改變樣式*/}
                <p className={this.state.display?"active":"active1"}>你是我的唯一</p>
                <button onClick={this.handlehide}>點選隱藏</button>
                <button onClick={this.handleshow}>點選顯示</button>
            </Fragment>
        )
    }
    handleshow() {
        this.setState({
            display:true
        })
    }
    handlehide() {
        this.setState({
            display:false
        })
    }
}
export default Demo;
登入後複製

css程式碼:

 .active{
      display: block;
  }
  .active1{
    display: none;
  }
登入後複製

第二種:動態新增一個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 (
            <Fragment>
                 {/*動態新增一個style來改變樣式*/}
                 <p style={display2}>你是我的唯一</p>
                <button onClick={this.handlehide2}>點選隱藏2</button>
                <button onClick={this.handleshow2}>點選顯示2</button>
            </Fragment>
        )
    }
    handleshow2() {
        this.setState({
            display2:true
        })
    }
    handlehide2() {
        this.setState({
            display2:false
        })
    }
}
export default Demo;
登入後複製

總結:用class來改變css樣式,可以寫多個動態改變的css屬性,看起不雜亂,而用style寫的話,如果寫多個css屬性就會看起復雜。都是個人觀點,不足請指出

推薦學習:《》

以上就是react 怎麼改變css樣式的詳細內容,更多請關注TW511.COM其它相關文章!