亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

react組件寫法的區別,以及代碼的校驗不通過?

react組件寫法的區別,以及代碼的校驗不通過?

慕妹3242003 2019-03-08 18:11:40
在react中我們命名組件中的方法的時候有很多中,例如第一種class Header extends React.Component { constructor (props) {    super(props)    //(1處)    this.getMes = this.getMes.bind(this)    this.state = {    }  }  //方法  getMes() {    //操作。。。。。 綁定this,可以在上面(1)處或者(2)處  }  render(){    return(      <div onClick={this.getMes.bind(this)}>(2)處</div>    )  }}上述的兩種寫法都可以通過standard的代碼校驗,(standard配置"parser": "babel-eslint",)但是上面的這種寫法比較繁瑣,所以改用下面這種寫法,省去了綁定thisgetMes = () => {    //操作。。。。}但是用這個方法寫,代碼校驗就會說getMes 沒有被定義,請問怎么解決???
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

在 class 里面直接定義 getMes = () => {} 這是目前 stage 3 Class properties的寫法
你得先看看自己是否配置了恰當的 babel 支持
babel plugin

proposal


查看完整回答
反對 回復 2019-03-13
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

getMes = () => {} 相對于在 jsx 中 bind 擁有更好的性能
至于 eslint 語法校驗問題,檢查你的 eslint 配置文件,或者直接關閉它


查看完整回答
反對 回復 2019-03-13
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

你需要用const定義getMes函數,即const getMes = () => {}


查看完整回答
反對 回復 2019-03-13
  • 3 回答
  • 0 關注
  • 492 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號