ReactNative點(diǎn)擊事件.bind(this)操作分析
一、前言
在React或React-native的點(diǎn)擊事件中,會(huì)經(jīng)常用到bind(this)。比如說(shuō)一個(gè)簡(jiǎn)單的React-native點(diǎn)擊組件:
export default class AwesomeProject extends Component {
constructor(props){
super(props);
this.state = {
}
}
handleClick () {
console.log('this is:',this);
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome} onPress={this.handleClick.bind(this)}>
Welcome to React Native!
</Text>
</View>
);
}
}在上面的代碼中,我們對(duì)點(diǎn)擊事件函數(shù)進(jìn)行了bind(this)操作,如果不bind(this)的this會(huì)怎么樣?


上圖是執(zhí)行了.bind(this)的,而下圖是沒(méi)有.bind(this)的。由執(zhí)行結(jié)果可知,如果沒(méi)有bind(this),在執(zhí)行這個(gè)函數(shù)時(shí),取到的this是這個(gè)text組件。
二、React中bind方法的選擇
因?yàn)榧^函數(shù)與bind(this)的作用是一樣的,()=>{} 這種形式的代碼,語(yǔ)法規(guī)定就是(function(){}).bind(this),即自動(dòng)添加了bind(this)。所以我們可以有4種選擇:
//寫(xiě)法1
<View onPress={this.handleClick.bind(this)}></View>
//寫(xiě)法2
constructor(props){
super(props);
this.handleClick = this.handleClick.bind(this);
}
//寫(xiě)法3
<View onPress={()=>this.handleClick()}>
//寫(xiě)法4
handleClick = () => {
}因?yàn)閎ind方法會(huì)重新生成一個(gè)新函數(shù),所以寫(xiě)法2和寫(xiě)法3每次render都會(huì)生成新的函數(shù),所以建議使用1或4。
以上就是ReactNative點(diǎn)擊事件.bind(this)操作分析的詳細(xì)內(nèi)容,更多關(guān)于ReactNative點(diǎn)擊事件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- ReactNative集成個(gè)推消息推送過(guò)程詳解
- React Native 資源包拆分實(shí)戰(zhàn)分析
- React?Native與iOS?OC之間的交互示例詳解
- React?Native項(xiàng)目設(shè)置路徑別名示例
- 一文詳解ReactNative狀態(tài)管理rematch使用
- 一文詳解ReactNative狀態(tài)管理redux-toolkit使用
- ReactNative?狀態(tài)管理redux使用詳解
- react?native?reanimated實(shí)現(xiàn)動(dòng)畫(huà)示例詳解
- React Native按鈕Touchable系列組件使用教程示例
相關(guān)文章
React項(xiàng)目中使用Redux的?react-redux
這篇文章主要介紹了React項(xiàng)目中使用Redux的?react-redux,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
vite+react+tailwindcss的簡(jiǎn)單使用方式
這篇文章主要介紹了vite+react+tailwindcss的簡(jiǎn)單使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
react實(shí)現(xiàn)一個(gè)優(yōu)雅的圖片占位模塊組件詳解
這篇文章主要給大家介紹了關(guān)于react如何實(shí)現(xiàn)一個(gè)還算優(yōu)雅的占位模塊圖片組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10

