RN無法識別state報錯 bind()函數

RN開發中很多組件的屬性這樣寫,正常,因為是通過React.createClass創建的組件會自動為closeModal綁定this,指定上下文。

若通過class extends React.Component方式所創建的組件這不能這樣寫,會報錯。this.setState is not a function,this.setState is undefined.

只有改成如下的方式為函數綁定方法。onPressBackground={this._closeModal.bind(this)}

綁定函數的方式有兩種:可以在調用函數的地方綁定,也可以在constructor方法里面綁定。

在一個函數的參數中,如果此函數沒有返回值,則會在相關文檔中之處傳參的類型。沒有返回值傳函數進去的情況有兩種:一直是直接填寫函數進去(注意是否需要綁定),二是通過箭頭函數(不需要綁定)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 作為一個合格的開發者,不要只滿足于編寫了可以運行的代碼。而要了解代碼背后的工作原理;不要只滿足于自己的程序...
    六個周閱讀 8,482評論 1 33
  • 原教程內容詳見精益 React 學習指南,這只是我在學習過程中的一些閱讀筆記,個人覺得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,854評論 1 18
  • 目前,react組件有三種寫法,分別是es5的createClass寫法,es6的class寫法,以及statel...
    ZoomFunc閱讀 1,761評論 0 1
  • react 基本概念解析 react 的組件聲明周期 react 高階組件,context, redux 等高級...
    南航閱讀 1,084評論 0 1
  • 自己最近的項目是基于react的,于是讀了一遍react的文檔,做了一些記錄(除了REFERENCE部分還沒開始讀...
    潘逸飛閱讀 3,455評論 1 10