鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ react組件寫法的區(qū)別,以及代碼的校驗不通過?

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

在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",)

但是上面的這種寫法比較繁瑣,所以改用下面這種寫法,省去了綁定this

getMes = () => {
    //操作。。。。
}

但是用這個方法寫,代碼校驗就會說getMes 沒有被定義,請問怎么解決???

回答
編輯回答
神經(jīng)質(zhì)

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

2018年2月17日 14:39
編輯回答
忠妾

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

2017年1月8日 17:23
編輯回答
還吻

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

proposal

2018年6月30日 04:37