簡體   English   中英

如何正確使用 React Native onLongPress?

[英]How do I use React Native onLongPress properly?

我有一段簡單的代碼,它只是一個帶有 onLongPress 道具的 TouchableOpacity,但它似乎不起作用。

<TouchableOpacity delayLongPress={10} onLongPress={()=>{console.log("pressed")}} activeOpacity={0.6}>
  <Text>BUTTON</Text>
</TouchableOpacity>

我試過刪除延遲道具,但這仍然不起作用。 然而,將 onLongPress 更改為 onPress 似乎確實有效,但我想要長按功能。 我正在 Android 模擬器上對此進行測試。

根據這個問題,這是隨機發生的,在啟用 React Native Debugger 的真實設備上進行測試后。 禁用 React Native Debugger 將使您的問題消失。

如果要在長按時顯示視圖並在釋放時隱藏它:

<TouchableOpacity
    onPress={this._onPress}
    onLongPress={this._onLongPress}
    onPressOut={this._onPressOut}
>
            ....
</TouchableOpacity>



_onLongPress = () => {
    this.setState({
        modalVisible: true
    })
}
_onPressOut = () => {
    this.setState({
        modalVisible: false
    })
}

我將以下代碼與“ react”一起使用:“ 16.6.3”和“ react-native”:“ 0.58.5”

<TouchableOpacity
    onLongPress={this.handlerLongClick}
    onPress={this.handlerClick}
    activeOpacity={0.6}
    style={styles.button}>
        <Text style={styles.TextStyle}> LONG PRESS THE BUTTON </Text>
</TouchableOpacity>

現在的關鍵是一切都正常,因此我認為以前的版本中存在一個錯誤,現在一切正常。

您可以在 IOS 模擬器或發布包中進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM