JSX基本語法中關於react如何寫css樣式主要有三種方法 1、基於class --(className) 基於className ,通過className在style中給該class名的DOM元素添加樣式 2、基於inner css (facebook 主張的方式) 行間樣式(json) Fac ...
JSX基本語法中關於react如何寫css樣式主要有三種方法
1、基於class --(className)
基於className ,通過className在style中給該class名的DOM元素添加樣式
1 <style> 2 .title{ 3 color:blue; 4 } 5 </style> 6 7 8 <div id='app'></div> 9 //創建一個叫App類,繼承(extends)了react中創建組件的方法(component) 10 class App extends React.Component{ 11 constructor(props){ 12 super(peops) 13 } 14 render(){ //類裡面負責構建HTML的位置,render渲染 15 return( //返回HTML結構 16 <div className="title">高版本</div> 17 18 ) 19 } 20 } 21 22 //將虛擬DOM以組件標簽的形式渲染到id為'app'的真實DOM之間 23 ReactDOM.render(<App/>,document.getElementById('app'))
2、基於inner css (facebook 主張的方式) 行間樣式(json)
Facebook主張的是行間樣式,直接給對應的DOM元素添加style屬性,遵循react的規則,寫在{ }當中。
1 <div id='app'></div> 2 3 class App extends React.Component{ 4 constructor(props){ 5 super(peops) 6 } 7 render(){ 8 return( 9 10 <div style={{color:'red'}}>hello 行間樣式</div> 11 12 ) 13 } 14 } 15 16 //將虛擬DOM以組件標簽的形式渲染到id為'app'的真實DOM之間 17 ReactDOM.render(<App/>,document.getElementById('app'))
3、原型鏈和全局變數
可以通過定義全局變數的方法來定義一個css樣式,適用該樣式的DOM元素可直接調用。
原型鏈中需要註意添加樣式的位置,調用時通過this,this指向該組件
<div id='app'></div> //全局樣式方法 var color={color:'red'} class App extends React.Component{ constructor(props){ super(peops) } render(){ return( <div style={color}>react全局行間樣式</div> //this 指向組件本身 <div style={this.col}>原型樣式</div> ) } } //原型鏈樣式的寫法,在創建完以及渲染中間的位置添加原型上的樣式 App.prototype.col={ color:pink } //將虛擬DOM以組件標簽的形式渲染到id為'app'的真實DOM之間 ReactDOM.render(<App/>,document.getElementById('app'))
以上是react中寫css樣式的三種方式,有什麼遺漏或者不正確的地方歡迎大家指正。