reactの2つの動的にcssスタイルを変更する方法
2160 ワード
1つ目:classを動的に追加し、ボタンをクリックして文字表示をdemoに隠す
cssコード:
2つ目は、styleを動的に追加し、ボタンをクリックしてテキスト表示をdemoに隠す
まとめ:classでcssスタイルを変えると、動的に変化するcss属性を複数書くことができ、乱雑に見えないが、styleで書くと、複数のcss属性を書くと複雑に見える.すべて個人的な観点ですので、不足点を指摘してください.
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属性を書くと複雑に見える.すべて個人的な観点ですので、不足点を指摘してください.