JSX

JSX = Javascript + XML。React發(fā)明了JSX,利用HTML語(yǔ)法來(lái)創(chuàng)鍵虛擬DOM(減少對(duì)實(shí)際DOM的操作從而提升性能)。當(dāng)遇到 < ,JSX就當(dāng)HTML解析,遇到 { 就當(dāng)JavaScript解析。

  • 數(shù)組遞歸
 public render () {
  var options = this.policies.map((policy) => {
    return (
      <i-option
        key={policy.id}
        value={policy.value}>
         {policy.name}
      </i-option>
    );
  })
  return (
     <Select>
        {options}
    </Select>
  )
}

  • 綁定事件
    駝峰寫(xiě)法 && iview組件事件寫(xiě)法
<Button size='large' onClick={this.viewMore}>click </Button>
<Cascader data={this.provincyData} onon-change={this.handleCascaderChange}></Cascader>
  • 樣式 & 類(lèi)
<div style={{'font-size': 100}}>click </div>
var myStyle = {fontSize: 100}
<div style={myStyle}>click </div>

import style from '../index.less'
<div class={style.xxx__container}/> 【bem規(guī)范】

jsx


render渲染函數(shù)

createElement({String|Object|Function},{object},{string|Array})

第一個(gè)參數(shù): 一個(gè)HTML標(biāo)簽、組件選項(xiàng)對(duì)象、或者resolve了上述任何一種的一個(gè)async函數(shù)。必填
第二個(gè)參數(shù):屬性對(duì)應(yīng)的數(shù)據(jù)對(duì)象。可選

{
  'class': { // 字符串|對(duì)象|字符串和對(duì)象組成的數(shù)組
    foo: true
   },
  style: { // 字符串|對(duì)象|字符串和對(duì)象組成的數(shù)組
    fontSize: '20px'
  },
  props: { // 組件prop
    myProp: 'bar'
  },
  attrs: { // 普通的HTML特性
    id: 'foo'
  },
  domProps: {
    innerHTML: 'baz'
  },
  on: { // 事件監(jiān)聽(tīng)器在'on'屬性?xún)?nèi),不支持’v-on:keyup.enter‘這樣的修飾器,需要的話(huà)在處理函數(shù)里手動(dòng)檢查keyCode
    click: this.clickHandler
  },
  nativeOn: { //僅用于組件,用于監(jiān)聽(tīng)原生事件,而不是組件內(nèi)部使用 和’vm.$emit觸發(fā)的事件‘
    click: this.nativeClickHandler
   },
  directives: [ // 自定義指令
    
  ],
  scopedSlots: { // 作用域插槽{ name: props => VNode | Array<VNode> }
    default: props => createElement('div', props.value)
  },
  slot: '', // 如果組件是其他組件的子組件,需為插槽指定名稱(chēng)
  ref: ''
}

第三個(gè)參數(shù):子節(jié)點(diǎn)??蛇x

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 在Jq,原生javascript時(shí)期,在寫(xiě)頁(yè)面時(shí),往往強(qiáng)調(diào)的是內(nèi)容結(jié)構(gòu),層疊樣式,行為動(dòng)作要分離,三者之間分...
    itclanCoder閱讀 805評(píng)論 0 2
  • JSX是React的核心組成部分,它使用XML標(biāo)記的方式去直接聲明界面,界面組件之間可以互相嵌套。可以理解為在JS...
    可樂(lè)愛(ài)上咖啡閱讀 72,335評(píng)論 1 63
  • 005@關(guān)于JSX語(yǔ)法 轉(zhuǎn)(有所更改):React入門(mén):關(guān)于JSX語(yǔ)法可以參考的資料:React.js學(xué)習(xí)筆記之J...
    驀然之間的閱讀 1,055評(píng)論 0 0
  • virtual DOM 真實(shí)頁(yè)面對(duì)應(yīng)一個(gè)DOM樹(shù)。在傳統(tǒng)頁(yè)面的開(kāi)發(fā)模式中,每一次需要更新頁(yè)面的時(shí)候,都需要手動(dòng)操作...
    kim_jin閱讀 2,179評(píng)論 0 1
  • 臘月二十左右的時(shí)候,正是新年開(kāi)始的預(yù)熱階段。不知怎的忽然懷念起家里過(guò)年常炸的一道零食。一條一條的,黃澄澄...
    清歡90閱讀 2,164評(píng)論 0 1

友情鏈接更多精彩內(nèi)容