_this2 xxx is not a function
原因是,在重寫
renderRow={this.renderRow}
方法的時候,這里的this不再是最外層的this,應該改成以下的形式,
錯誤即可解決
renderRow={this.renderRow.bind(this)}
什么是this對象
每一個函數在調用的時候都會自己主動獲取兩個特殊變量:this和arguments對象。
this值詳細是指哪個對象是和該函數的運行環(huán)境相關的。假設是作為對象的方法拍冠,那么this就是對象實例本身;假設是一個全局函數,那么this就是window對象。用一句話來概括,this就是調用這種方法的對象。
bind方法
bind方法生成了一個新的函數,稱為綁定函數阐虚,傳入bind方法的第一個參數作為這個綁定函數的this對象序臂,傳入bind的第二個參數連同后面調用綁定函數時傳入的參數依照先后順序(傳入bind的在前)構成綁定函數的參數。
.bind()創(chuàng)建了一個函數实束,當這個函數在被調用的時候奥秆。它的 this 關鍵詞會被設置成被傳入的值(這里指調用bind()時傳入的參數)