詳解react的兩種動(dòng)態(tài)改變css樣式的方法
第一種:動(dòng)態(tài)添加class,以點(diǎn)擊按鈕讓文字顯示隱藏為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>
{/*動(dòng)態(tài)添加一個(gè)class來(lái)改變樣式*/}
<p className={this.state.display?"active":"active1"}>你是我的唯一</p>
<button onClick={this.handlehide}>點(diǎn)擊隱藏</button>
<button onClick={this.handleshow}>點(diǎn)擊顯示</button>
</Fragment>
)
}
handleshow() {
this.setState({
display:true
})
}
handlehide() {
this.setState({
display:false
})
}
}
export default Demo;
css代碼:
.active{
display: block;
}
.active1{
display: none;
}
第二種:動(dòng)態(tài)添加一個(gè)style,以點(diǎn)擊按鈕讓文字顯示隱藏為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>
{/*動(dòng)態(tài)添加一個(gè)style來(lái)改變樣式*/}
<p style={display2}>你是我的唯一</p>
<button onClick={this.handlehide2}>點(diǎn)擊隱藏2</button>
<button onClick={this.handleshow2}>點(diǎn)擊顯示2</button>
</Fragment>
)
}
handleshow2() {
this.setState({
display2:true
})
}
handlehide2() {
this.setState({
display2:false
})
}
}
export default Demo;
總結(jié):用class來(lái)改變css樣式,可以寫(xiě)多個(gè)動(dòng)態(tài)改變的css屬性,看起不雜亂,而用style寫(xiě)的話,如果寫(xiě)多個(gè)css屬性就會(huì)看起復(fù)雜。都是個(gè)人觀點(diǎn),不足請(qǐng)指出
到此這篇關(guān)于詳解react的兩種動(dòng)態(tài)改變css樣式的方法的文章就介紹到這了,更多相關(guān)react動(dòng)態(tài)改變css樣式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
react-router JS 控制路由跳轉(zhuǎn)實(shí)例
這篇文章主要介紹了react-router JS 控制路由跳轉(zhuǎn)實(shí)例,react實(shí)現(xiàn)路由可以直接使用react-router。有興趣的可以了解一下2017-06-06
解決React初始化加載組件會(huì)渲染兩次的問(wèn)題
這篇文章主要介紹了解決React初始化加載組件會(huì)渲染兩次的問(wèn)題,文中有出現(xiàn)這種現(xiàn)象的原因及解決方法,感興趣的同學(xué)跟著小編一起來(lái)看看吧2023-08-08
React18之update流程從零實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了React18之update流程從零實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
React視頻播放控制組件Video Controls的實(shí)現(xiàn)
本文主要介紹了React視頻播放控制組件Video Controls的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
react項(xiàng)目從新建到部署的實(shí)現(xiàn)示例
這篇文章主要介紹了react項(xiàng)目從新建到部署的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

