我有一个FlatList组件,我想在其上实现PanResponder API,下面是我的代码的一部分:
from os import urandom
from Crypto.Cipher import AES
cipher = AES.new(urandom(16), AES.MODE_CTR, nonce=urandom(15))
cipher.encrypt(urandom(10000))
---------------------------------------------------------------------------
OverflowError Traceback (most recent call last)
<ipython-input-116-a48990362615> in <module>()
3
4 cipher = AES.new(urandom(16), AES.MODE_CTR, nonce=urandom(15))
----> 5 cipher.encrypt(urandom(10000))
6
/usr/local/lib/python3.5/dist-packages/Crypto/Cipher/_mode_ctr.py in encrypt(self, plaintext)
188 if result:
189 if result == 0x60002:
--> 190 raise OverflowError("The counter has wrapped around in"
191 " CTR mode")
192 raise ValueError("Error %X while encrypting in CTR mode" % result)
OverflowError: The counter has wrapped around in CTR mode
componentWillMount() {
this._panResponder = PanResponder.create({
onStartShouldSetPanResponder: ()=>true,
onMoveShouldSetPanResponder: ()=>true,
onPanResponderGrant: (e, gestureState)=>this.panResponderStart(e, gestureState),
onPanResponderMove: (e, gestureState)=>this.panResponderMove(e, gestureState),
onPanResponderRelease: (e, gestureState)=>this.panResponderEnd(e, gestureState),
onPanResponderTerminate: (e, gestureState)=>this.panResponderEnd(e, gestureState),
});
}
panResponderEnd(e, gestureState) {
//this._previousTop += gestureState.dy;
this.setState({scrollTop:0});
console.log('release');
}
...
<FlatList
{...this._panResponder.panHandlers}
...
不会在onPanResponderRelease
或FlatList
或ListView
组件上触发,操作系统是android,它是RN的错误吗?如何解决这个问题,任何帮助表示赞赏。
答案 0 :(得分:0)
无需传递panHandlers
即可查看。我直接在sectionList
上使用它。
通过使用onPanResponderEnd
而不是onPanResponderRelease
使它正常工作。
此外,如果您仍然想使用onPanResponderRelease
,则应通过以下方式允许终止请求:
onPanResponderTerminationRequest: () => true
让我知道它是否无效。