1. 程式人生 > >React Native Touchable元件onPress方法在使用PanResponder時失效,iphone6,iphone 6S

React Native Touchable元件onPress方法在使用PanResponder時失效,iphone6,iphone 6S

收到測試反饋iphone6和iPhone6s上點選列表有時無法跳轉到詳情頁面,除錯時候發現點選touchable元件時,有時會執行onPress方法,有時會執行PanResponder的方法

手指點選螢幕面積比較小時執行onPress,否則會執行PanResponder方法

可能是因為點選螢幕面積比較大時,系統認為進行了移動操作,所以進入了PanResponder方法,解決方法就是在響應PanResponder的時候判斷,只有移動超過多少畫素才去響應Move

	onMoveShouldSetPanResponder: (evt, gestureState) => {
let {dx,dy} = gestureState; if((Math.abs(dx) > 5) || (Math.abs(dy) > 5)){ return true }else{ return false } //return (Math.abs(dx) > 5) || (Math.abs(dy) > 5); 不使用這種寫法,某些三星機器異常 }