OnLongPressプロップを使用したTouchableOpacityの単純なコードがありますが、機能していないようです。
<TouchableOpacity delayLongPress={10} onLongPress={()=>{console.log("pressed")}} activeOpacity={0.6}>
<Text>BUTTON</Text>
</TouchableOpacity>
遅延プロップを削除しようとしましたが、それでも機能しません。 onLongPressをonPressに変更することは機能しているように見えますが、長押し機能が必要です。私はこれをAndroidシミュレーターでテストしています。
長押しでビューを表示し、リリース時に非表示にする場合:
<TouchableOpacity
onPress={this._onPress}
onLongPress={this._onLongPress}
onPressOut={this._onPressOut}
>
....
</TouchableOpacity>
_onLongPress = () => {
this.setState({
modalVisible: true
})
}
_onPressOut = () => {
this.setState({
modalVisible: false
})
}
この問題 によると、これは、React NativeDebuggerが有効になっている実際のデバイスでテストした後にランダムに発生します。React NativeDebuggerは問題を解決します。