• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    React學(xué)習(xí)之事件綁定的幾種方法對(duì)比

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:29:07
    文檔

    React學(xué)習(xí)之事件綁定的幾種方法對(duì)比

    React學(xué)習(xí)之事件綁定的幾種方法對(duì)比:前言 本文主要給大家介紹了關(guān)于React事件綁定的幾種方法對(duì)比的相關(guān)呢榮,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。 React事件綁定 由于類的方法默認(rèn)不會(huì)綁定this,因此在調(diào)用的時(shí)候如果忘記綁定,this的值將會(huì)是undefined
    推薦度:
    導(dǎo)讀React學(xué)習(xí)之事件綁定的幾種方法對(duì)比:前言 本文主要給大家介紹了關(guān)于React事件綁定的幾種方法對(duì)比的相關(guān)呢榮,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。 React事件綁定 由于類的方法默認(rèn)不會(huì)綁定this,因此在調(diào)用的時(shí)候如果忘記綁定,this的值將會(huì)是undefined

    前言

    本文主要給大家介紹了關(guān)于React事件綁定的幾種方法對(duì)比的相關(guān)呢榮,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

    React事件綁定

    由于類的方法默認(rèn)不會(huì)綁定this,因此在調(diào)用的時(shí)候如果忘記綁定,this的值將會(huì)是undefined。

    通常如果不是直接調(diào)用,應(yīng)該為方法綁定this。綁定方式有以下幾種:

    1. 在構(gòu)造函數(shù)中使用bind綁定this

    class Button extends React.Component {
    constructor(props) {
     super(props);
     this.handleClick = this.handleClick.bind(this);
     }
     handleClick(){
     console.log('this is:', this);
     }
     render() {
     return (
     <button onClick={this.handleClick}>
     Click me
     </button>
     );
     }
    }

    2. 在調(diào)用的時(shí)候使用bind綁定this

    class Button extends React.Component {
     handleClick(){
     console.log('this is:', this);
     }
     render() {
     return (
     <button onClick={this.handleClick.bind(this)}>
     Click me
     </button>
     );
     }
    }

    3. 在調(diào)用的時(shí)候使用箭頭函數(shù)綁定this

    class Button extends React.Component {
     handleClick(){
     console.log('this is:', this);
     }
     render() {
     return (
     <button onClick={()=>this.handleClick()}>
     Click me
     </button>
     );
     }
    }

    4. 使用屬性初始化器語(yǔ)法綁定this(實(shí)驗(yàn)性)

    class Button extends React.Component {
     handleClick=()=>{
     console.log('this is:', this);
     }
     render() {
     return (
     <button onClick={this.handleClick}>
     Click me
     </button>
     );
     }
    }

    比較

    方式2和方式3都是在調(diào)用的時(shí)候再綁定this。

  • 優(yōu)點(diǎn):寫(xiě)法比較簡(jiǎn)單,當(dāng)組件中沒(méi)有state的時(shí)候就不需要添加類構(gòu)造函數(shù)來(lái)綁定this
  • 缺點(diǎn):每一次調(diào)用的時(shí)候都會(huì)生成一個(gè)新的方法實(shí)例,因此對(duì)性能有影響,并且當(dāng)這個(gè)函數(shù)作為屬性值傳入低階組件的時(shí)候,這些組件可能會(huì)進(jìn)行額外的重新渲染,因?yàn)槊恳淮味际切碌姆椒▽?shí)例作為的新的屬性傳遞。
  • 方式1在類構(gòu)造函數(shù)中綁定this,調(diào)用的時(shí)候不需要再綁定

  • 優(yōu)點(diǎn):只會(huì)生成一個(gè)方法實(shí)例,并且綁定一次之后如果多次用到這個(gè)方法也不需要再綁定。
  • 缺點(diǎn):即使不用到state,也需要添加類構(gòu)造函數(shù)來(lái)綁定this,代碼量多一點(diǎn)。。
  • 方式4:利用屬性初始化語(yǔ)法,將方法初始化為箭頭函數(shù),因此在創(chuàng)建函數(shù)的時(shí)候就綁定了this。

  • 優(yōu)點(diǎn):創(chuàng)建方法就綁定this,不需要在類構(gòu)造函數(shù)中綁定,調(diào)用的時(shí)候不需要再作綁定。結(jié)合了方式1、方式2、方式3的優(yōu)點(diǎn)
  • 缺點(diǎn):目前仍然是實(shí)驗(yàn)性語(yǔ)法,需要用babel轉(zhuǎn)譯
  • 總結(jié)

    方式1是官方推薦的綁定方式,也是性能最好的方式。方式2和方式3會(huì)有性能影響并且當(dāng)方法作為屬性傳遞給子組件的時(shí)候會(huì)引起重渲問(wèn)題。方式4目前屬于實(shí)驗(yàn)性語(yǔ)法,但是是最好的綁定方式,需要結(jié)合bable轉(zhuǎn)譯

    好了,

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    React學(xué)習(xí)之事件綁定的幾種方法對(duì)比

    React學(xué)習(xí)之事件綁定的幾種方法對(duì)比:前言 本文主要給大家介紹了關(guān)于React事件綁定的幾種方法對(duì)比的相關(guān)呢榮,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。 React事件綁定 由于類的方法默認(rèn)不會(huì)綁定this,因此在調(diào)用的時(shí)候如果忘記綁定,this的值將會(huì)是undefined
    推薦度:
    標(biāo)簽: 綁定 學(xué)習(xí) 方式
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品美脚玉足脚交欧美| 日韩亚洲精品福利| 亚洲精品成a人在线观看| 日韩精品欧美亚洲| 久久夜色精品国产亚洲| 国产成人精品在线观看| 国产精品极品美女自在线观看免费| 国产精品午夜无码AV天美传媒 | 2022精品天堂在线视频| 国产精品久久久久影院色 | 日韩精品人妻系列无码专区| 国产精品无码无片在线观看| 日韩精品人成在线播放| 精品国产婷婷久久久| 亚洲精品国偷自产在线| 国产精品无码AV一区二区三区| 亚洲精品和日本精品| 久久人搡人人玩人妻精品首页 | 国产日韩一区在线精品欧美玲| 久久婷婷国产综合精品| 亚洲精品99久久久久中文字幕| 久久精品国产亚洲Aⅴ蜜臀色欲| 国产精品福利片免费看| 88久久精品无码一区二区毛片 | 国产日韩精品欧美一区喷水| 亚洲精品高清视频| 久久国产精品偷99| 国产午夜福利精品久久2021| 亚洲精品蜜桃久久久久久| 无码国模国产在线无码精品国产自在久国产 | 野狼精品社区| 四虎国产精品永久一区| 成人精品综合免费视频| 国产亚洲精品拍拍拍拍拍| 久久亚洲欧美日本精品| 久久亚洲精品中文字幕三区| 日韩麻豆国产精品欧美| 中文精品久久久久国产网址 | 久久精品成人免费网站| 四虎精品亚洲一区二区三区| 精品少妇一区二区三区在线 |