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