我們在做APP的時候,與桌面應用系統不同的是觸摸響應。
web頁面對觸摸響應的支持和原生的APP有着很大的差異。
基本用法
componentWillMount: function() { this._panResponder = PanResponder.create({ // 要求成為響應者: onStartShouldSetPanResponder: (evt, gestureState) => true, onStartShouldSetPanResponderCapture: (evt, gestureState) => true, onMoveShouldSetPanResponder: (evt, gestureState) => true, onMoveShouldSetPanResponderCapture: (evt, gestureState) => true, onPanResponderGrant: (evt, gestureState) => { // 開始手勢操作。給用戶一些視覺反饋,讓他們知道發生了什么事情! // gestureState.{x,y}0 現在會被設置為0 }, onPanResponderMove: (evt, gestureState) => { // 最近一次的移動距離為gestureState.move{X,Y} // 從成為響應者開始時的累計手勢移動距離為gestureState.d{x,y} }, onPanResponderTerminationRequest: (evt, gestureState) => true, onPanResponderRelease: (evt, gestureState) => { // 用戶放開了所有的觸摸點,且此時視圖已經成為了響應者。 // 一般來說這意味着一個手勢操作已經成功完成。 }, onPanResponderTerminate: (evt, gestureState) => { // 另一個組件已經成為了新的響應者,所以當前手勢將被取消。 }, onShouldBlockNativeResponder: (evt, gestureState) => { // 返回一個布爾值,決定當前組件是否應該阻止原生組件成為JS響應者 // 默認返回true。目前暫時只支持android。 return true; }, }); }, render: function() { return ( <View {...this._panResponder.panHandlers} /> ); },
//注釋一下: