样式控制 & classnames工具优化类名控制
样式控制
1. 行内样式控制
const style = { color: 'red' , fontSize: '30px'
} function App ( ) { return ( < div className= "App" > { } < p style= { style} > Hello BLU ! < / p> < / div> ) ;
}
export default App;
2. 外部样式控制
import './index.css' ; function App ( ) { const clickHandler = ( name ) => { alert ( "Hello " + name) ; } return ( < div className= "App" > { } < button className= 'bluBtn' onClick= { ( ) => clickHandler ( 'BLU' ) } > Click Me< / button> < / div> ) ;
}
export default App;
.bluBtn { color : red; font-size : 20px; font-weight : 600;
}
classnames工具优化类名控制
npm install classnames
import './index.css' ;
import classNames from 'classnames' ;
import { useState } from 'react' ; function Tab ( ) { const [ type, setType] = useState ( '' ) ; const handleTabClick = ( name ) => { setType ( name) ; } return ( < div> < button className= { classNames ( 'bluBtn' , { active: type === 'A' } ) } onClick= { ( ) => handleTabClick ( 'A' ) } > Tab A < / button> < button className= { classNames ( 'bluBtn' , { active: type === 'B' } ) } onClick= { ( ) => handleTabClick ( 'B' ) } > Tab B < / button> < / div> ) ; }
export default Tab;
.bluBtn { color : red; font-size : 20px; font-weight : 600;
}
.bluBtn.active { background-color : bisque;
}
import Tab from "./Tab" ; function App ( ) { return ( < div className= "App" > < Tab> < / Tab> < / div> ) ;
}
export default App;